From f81ca85da79c383ea276c87ee14a1260da55833a Mon Sep 17 00:00:00 2001 From: Marcin Wojtala Date: Sun, 23 May 2021 20:23:20 +0100 Subject: [PATCH] removing build folder and testing husky commit lint? pre-commit hook package.json - precommit removed hello-a hello premissions troubleshoot.md --- .gitignore | 2 +- .husky/.gitignore | 1 + .husky/pre-commit | 4 + .husky/pre-push | 4 + TROUBLESHOOT.MD | 5 + build/Application.js | 365 - build/contracts/Address.json | 8149 -- build/contracts/BEPRONetwork.json | 50878 ----------- build/contracts/CappedToken.json | 1759 - build/contracts/Context.json | 540 - build/contracts/ERC165.json | 1372 - build/contracts/ERC20.json | 13371 --- build/contracts/ERC20Test.json | 994 - build/contracts/ERC20TokenLock.json | 12001 --- build/contracts/ERC721.json | 25285 ------ build/contracts/ERC721Colectibles.json | 17405 ---- build/contracts/ERC721Standard.json | 17018 ---- build/contracts/EnumerableMap.json | 14627 ---- build/contracts/EnumerableSet.json | 12365 --- build/contracts/Exchange.json | 72650 ---------------- build/contracts/IERC165.json | 309 - build/contracts/IERC20.json | 1970 - build/contracts/IERC721.json | 2920 - build/contracts/IERC721Enumerable.json | 1078 - build/contracts/IERC721Metadata.json | 955 - build/contracts/IERC721Receiver.json | 491 - build/contracts/Migrations.json | 1430 - build/contracts/Opener.json | 16850 ---- build/contracts/OpenerRealFvr.json | 22742 ----- build/contracts/Ownable.json | 1525 - build/contracts/Pausable.json | 2045 - build/contracts/SafeMath.json | 9105 -- build/contracts/StakingContract.json | 24137 ----- build/contracts/Strings.json | 2279 - build/contracts/Token.json | 1757 - build/contracts/_IERC20.json | 50038 ----------- build/interfaces/index.js | 13 - build/models/BEPRO/Network.js | 539 - build/models/ERC20/ERC20Contract.js | 177 - build/models/ERC20/ERC20TokenLock.js | 333 - build/models/ERC721/ERC721Collectibles.js | 331 - build/models/ERC721/ERC721Standard.js | 109 - build/models/IContract.js | 300 - .../PredictionMarkets/ExchangeContract.js | 365 - build/models/Staking/StakingContract.js | 432 - build/models/custom/RealFvr/OpenerRealFvr.js | 341 - build/models/index.js | 18 - build/utils/Account.js | 40 - build/utils/Contract.js | 139 - build/utils/IPFS.js | 12 - build/utils/Numbers.js | 116 - package.json | 19 +- 52 files changed, 27 insertions(+), 391683 deletions(-) create mode 100644 .husky/.gitignore create mode 100755 .husky/pre-commit create mode 100755 .husky/pre-push create mode 100644 TROUBLESHOOT.MD delete mode 100644 build/Application.js delete mode 100644 build/contracts/Address.json delete mode 100644 build/contracts/BEPRONetwork.json delete mode 100644 build/contracts/CappedToken.json delete mode 100644 build/contracts/Context.json delete mode 100644 build/contracts/ERC165.json delete mode 100644 build/contracts/ERC20.json delete mode 100644 build/contracts/ERC20Test.json delete mode 100644 build/contracts/ERC20TokenLock.json delete mode 100644 build/contracts/ERC721.json delete mode 100644 build/contracts/ERC721Colectibles.json delete mode 100644 build/contracts/ERC721Standard.json delete mode 100644 build/contracts/EnumerableMap.json delete mode 100644 build/contracts/EnumerableSet.json delete mode 100644 build/contracts/Exchange.json delete mode 100644 build/contracts/IERC165.json delete mode 100644 build/contracts/IERC20.json delete mode 100644 build/contracts/IERC721.json delete mode 100644 build/contracts/IERC721Enumerable.json delete mode 100644 build/contracts/IERC721Metadata.json delete mode 100644 build/contracts/IERC721Receiver.json delete mode 100644 build/contracts/Migrations.json delete mode 100644 build/contracts/Opener.json delete mode 100644 build/contracts/OpenerRealFvr.json delete mode 100644 build/contracts/Ownable.json delete mode 100644 build/contracts/Pausable.json delete mode 100644 build/contracts/SafeMath.json delete mode 100644 build/contracts/StakingContract.json delete mode 100644 build/contracts/Strings.json delete mode 100644 build/contracts/Token.json delete mode 100644 build/contracts/_IERC20.json delete mode 100644 build/interfaces/index.js delete mode 100644 build/models/BEPRO/Network.js delete mode 100644 build/models/ERC20/ERC20Contract.js delete mode 100644 build/models/ERC20/ERC20TokenLock.js delete mode 100644 build/models/ERC721/ERC721Collectibles.js delete mode 100644 build/models/ERC721/ERC721Standard.js delete mode 100644 build/models/IContract.js delete mode 100644 build/models/PredictionMarkets/ExchangeContract.js delete mode 100644 build/models/Staking/StakingContract.js delete mode 100644 build/models/custom/RealFvr/OpenerRealFvr.js delete mode 100644 build/models/index.js delete mode 100644 build/utils/Account.js delete mode 100644 build/utils/Contract.js delete mode 100644 build/utils/IPFS.js delete mode 100644 build/utils/Numbers.js diff --git a/.gitignore b/.gitignore index 881f1010..e5a0f8d7 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,4 @@ node_modules .env package-lock.json .idea - +build diff --git a/.husky/.gitignore b/.husky/.gitignore new file mode 100644 index 00000000..31354ec1 --- /dev/null +++ b/.husky/.gitignore @@ -0,0 +1 @@ +_ diff --git a/.husky/pre-commit b/.husky/pre-commit new file mode 100755 index 00000000..d0612ad3 --- /dev/null +++ b/.husky/pre-commit @@ -0,0 +1,4 @@ +#!/bin/sh +. "$(dirname "$0")/_/husky.sh" + +npm run pre-commit diff --git a/.husky/pre-push b/.husky/pre-push new file mode 100755 index 00000000..449fcdee --- /dev/null +++ b/.husky/pre-push @@ -0,0 +1,4 @@ +#!/bin/sh +. "$(dirname "$0")/_/husky.sh" + +npm test diff --git a/TROUBLESHOOT.MD b/TROUBLESHOOT.MD new file mode 100644 index 00000000..5362a016 --- /dev/null +++ b/TROUBLESHOOT.MD @@ -0,0 +1,5 @@ +## Husky - cannot execute pre-commit hook. +`make sure to have chmod +x set on it correctly` + +## Tests not passing +`make sure your gnache-cli is running (npm run gnache:start) in a seprate terminal instance` diff --git a/build/Application.js b/build/Application.js deleted file mode 100644 index 6979c7b4..00000000 --- a/build/Application.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 _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 { - _this.web3 = new _web2.default(new _web2.default.providers.HttpProvider(_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. - - - - - - - - - - getStakingContract = function () - - - {var _ref5 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},_ref5$contractAddress = _ref5.contractAddress,contractAddress = _ref5$contractAddress === undefined ? null : _ref5$contractAddress,_ref5$tokenAddress = _ref5.tokenAddress,tokenAddress = _ref5$tokenAddress === undefined ? null : _ref5$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 _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.ERC20TokenLock({ - web3: _this.web3, - contractAddress: contractAddress, - tokenAddress: tokenAddress, - acc: _this.test && !_this.localtest ? _this.account : null }); - - } catch (err) { - throw err; - } - };this. - - - - - - - - - getBEPRONetwork = 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.BEPRONetwork({ - web3: _this.web3, - contractAddress: contractAddress, - tokenAddress: tokenAddress, - acc: _this.test && !_this.localtest ? _this.account : null }); - - } catch (err) { - throw err; - } - };this. - - - - - - - - - getERC721Collectibles = function () {var _ref8 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},_ref8$contractAddress = _ref8.contractAddress,contractAddress = _ref8$contractAddress === undefined ? null : _ref8$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 (_ref9) {var _ref9$contractAddress = _ref9.contractAddress,contractAddress = _ref9$contractAddress === undefined ? null : _ref9$contractAddress; - try { - return new _index.ERC20Contract({ - 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 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 - */ /** ***** */ /** 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/contracts/Address.json b/build/contracts/Address.json deleted file mode 100644 index 40d2a69d..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:20:-: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:20:-: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": [ - 9505 - ] - }, - "id": 9506, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 9222, - "literals": [ - "solidity", - ">=", - "0.6", - ".2", - "<", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:31:20" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": "@dev Collection of functions related to the address type", - "fullyImplemented": true, - "id": 9505, - "linearizedBaseContracts": [ - 9505 - ], - "name": "Address", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 9237, - "nodeType": "Block", - "src": "792:347:20", - "statements": [ - { - "assignments": [ - 9230 - ], - "declarations": [ - { - "constant": false, - "id": 9230, - "name": "size", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9237, - "src": "989:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9229, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "989:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9231, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "989:12:20" - }, - { - "AST": { - "nodeType": "YulBlock", - "src": "1076:32:20", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1078:28:20", - "value": { - "arguments": [ - { - "name": "account", - "nodeType": "YulIdentifier", - "src": "1098:7:20" - } - ], - "functionName": { - "name": "extcodesize", - "nodeType": "YulIdentifier", - "src": "1086:11:20" - }, - "nodeType": "YulFunctionCall", - "src": "1086:20:20" - }, - "variableNames": [ - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "1078:4:20" - } - ] - } - ] - }, - "evmVersion": "istanbul", - "externalReferences": [ - { - "declaration": 9224, - "isOffset": false, - "isSlot": false, - "src": "1098:7:20", - "valueSize": 1 - }, - { - "declaration": 9230, - "isOffset": false, - "isSlot": false, - "src": "1078:4:20", - "valueSize": 1 - } - ], - "id": 9232, - "nodeType": "InlineAssembly", - "src": "1067:41:20" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9235, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9233, - "name": "size", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9230, - "src": "1124:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 9234, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1131:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1124:8:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 9228, - "id": 9236, - "nodeType": "Return", - "src": "1117:15:20" - } - ] - }, - "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": 9238, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isContract", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9225, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9224, - "name": "account", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9238, - "src": "746:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9223, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "746:7:20", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "745:17:20" - }, - "returnParameters": { - "id": 9228, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9227, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9238, - "src": "786:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9226, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "786:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "785:6:20" - }, - "scope": 9505, - "src": "726:413:20", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9270, - "nodeType": "Block", - "src": "2127:320:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9252, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9248, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "2153:4:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Address_$9505", - "typeString": "library Address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Address_$9505", - "typeString": "library Address" - } - ], - "id": 9247, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2145:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 9246, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2145:7:20", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 9249, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2145:13:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 9250, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2145:21:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 9251, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9242, - "src": "2170:6:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2145:31:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416464726573733a20696e73756666696369656e742062616c616e6365", - "id": 9253, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2178:31:20", - "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": 9245, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2137:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9254, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2137:73:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9255, - "nodeType": "ExpressionStatement", - "src": "2137:73:20" - }, - { - "assignments": [ - 9257, - null - ], - "declarations": [ - { - "constant": false, - "id": 9257, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9270, - "src": "2299:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9256, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2299:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 9264, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "", - "id": 9262, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2349:2:20", - "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": 9258, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9240, - "src": "2317:9:20", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 9259, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "call", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2317:14:20", - "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": 9261, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "argumentTypes": null, - "id": 9260, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9242, - "src": "2340:6:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "src": "2317:31:20", - "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": 9263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2317:35:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2298:54:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9266, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9257, - "src": "2370:7:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416464726573733a20756e61626c6520746f2073656e642076616c75652c20726563697069656e74206d61792068617665207265766572746564", - "id": 9267, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2379:60:20", - "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": 9265, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2362:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2362:78:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9269, - "nodeType": "ExpressionStatement", - "src": "2362:78:20" - } - ] - }, - "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": 9271, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sendValue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9243, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9240, - "name": "recipient", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9271, - "src": "2075:25:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "id": 9239, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2075:15:20", - "stateMutability": "payable", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9242, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9271, - "src": "2102:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9241, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2102:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2074:43:20" - }, - "returnParameters": { - "id": 9244, - "nodeType": "ParameterList", - "parameters": [], - "src": "2127:0:20" - }, - "scope": 9505, - "src": "2056:391:20", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9286, - "nodeType": "Block", - "src": "3277:82:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9281, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9273, - "src": "3305:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9282, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9275, - "src": "3313:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "hexValue": "416464726573733a206c6f772d6c6576656c2063616c6c206661696c6564", - "id": 9283, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3319:32:20", - "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": 9280, - "name": "functionCall", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 9287, - 9306 - ], - "referencedDeclaration": 9306, - "src": "3292:12:20", - "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": 9284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3292:60:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 9279, - "id": 9285, - "nodeType": "Return", - "src": "3285:67:20" - } - ] - }, - "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": 9287, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionCall", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9276, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9273, - "name": "target", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9287, - "src": "3210:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9272, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3210:7:20", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9275, - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9287, - "src": "3226:17:20", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9274, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3226:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3209:35:20" - }, - "returnParameters": { - "id": 9279, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9278, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9287, - "src": "3263:12:20", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9277, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3263:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3262:14:20" - }, - "scope": 9505, - "src": "3188:171:20", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9305, - "nodeType": "Block", - "src": "3698:76:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9299, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9289, - "src": "3737:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9300, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9291, - "src": "3745:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 9301, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3751:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "argumentTypes": null, - "id": 9302, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9293, - "src": "3754:12:20", - "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": 9298, - "name": "functionCallWithValue", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 9325, - 9374 - ], - "referencedDeclaration": 9374, - "src": "3715:21:20", - "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": 9303, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3715:52:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 9297, - "id": 9304, - "nodeType": "Return", - "src": "3708:59:20" - } - ] - }, - "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": 9306, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionCall", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9294, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9289, - "name": "target", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9306, - "src": "3603:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9288, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3603:7:20", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9291, - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9306, - "src": "3619:17:20", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9290, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3619:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9293, - "name": "errorMessage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9306, - "src": "3638:26:20", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 9292, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3638:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3602:63:20" - }, - "returnParameters": { - "id": 9297, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9296, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9306, - "src": "3684:12:20", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9295, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3684:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3683:14:20" - }, - "scope": 9505, - "src": "3581:193:20", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9324, - "nodeType": "Block", - "src": "4249:111:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9318, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9308, - "src": "4288:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9319, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9310, - "src": "4296:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 9320, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9312, - "src": "4302:5:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "416464726573733a206c6f772d6c6576656c2063616c6c20776974682076616c7565206661696c6564", - "id": 9321, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4309:43:20", - "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": 9317, - "name": "functionCallWithValue", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 9325, - 9374 - ], - "referencedDeclaration": 9374, - "src": "4266:21:20", - "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": 9322, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4266:87:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 9316, - "id": 9323, - "nodeType": "Return", - "src": "4259:94:20" - } - ] - }, - "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": 9325, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionCallWithValue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9313, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9308, - "name": "target", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9325, - "src": "4167:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9307, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4167:7:20", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9310, - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9325, - "src": "4183:17:20", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9309, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4183:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9312, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9325, - "src": "4202:13:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9311, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4202:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4166:50:20" - }, - "returnParameters": { - "id": 9316, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9315, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9325, - "src": "4235:12:20", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9314, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4235:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4234:14:20" - }, - "scope": 9505, - "src": "4136:224:20", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9373, - "nodeType": "Block", - "src": "4749:382:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9341, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "4775:4:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Address_$9505", - "typeString": "library Address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Address_$9505", - "typeString": "library Address" - } - ], - "id": 9340, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4767:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 9339, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4767:7:20", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 9342, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4767:13:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 9343, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4767:21:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 9344, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9331, - "src": "4792:5:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4767:30:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c", - "id": 9346, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4799:40:20", - "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": 9338, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4759:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9347, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4759:81:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9348, - "nodeType": "ExpressionStatement", - "src": "4759:81:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9351, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9327, - "src": "4869:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 9350, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9238, - "src": "4858:10:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 9352, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4858:18:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374", - "id": 9353, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4878:31:20", - "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": 9349, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4850:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9354, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4850:60:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9355, - "nodeType": "ExpressionStatement", - "src": "4850:60:20" - }, - { - "assignments": [ - 9357, - 9359 - ], - "declarations": [ - { - "constant": false, - "id": 9357, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9373, - "src": "4981:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9356, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4981:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9359, - "name": "returndata", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9373, - "src": "4995:23:20", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9358, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4995:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9366, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9364, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9329, - "src": "5050:4:20", - "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": 9360, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9327, - "src": "5022:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 9361, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "call", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5022:11:20", - "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": 9363, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "argumentTypes": null, - "id": 9362, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9331, - "src": "5042:5:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "src": "5022:27:20", - "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": 9365, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5022:33:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4980:75:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9368, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9357, - "src": "5090:7:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 9369, - "name": "returndata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9359, - "src": "5099:10:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 9370, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9333, - "src": "5111:12:20", - "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": 9367, - "name": "_verifyCallResult", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9504, - "src": "5072:17:20", - "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": 9371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5072:52:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 9337, - "id": 9372, - "nodeType": "Return", - "src": "5065:59:20" - } - ] - }, - "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": 9374, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionCallWithValue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9334, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9327, - "name": "target", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9374, - "src": "4639:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9326, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4639:7:20", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9329, - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9374, - "src": "4655:17:20", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9328, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4655:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9331, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9374, - "src": "4674:13:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9330, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4674:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9333, - "name": "errorMessage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9374, - "src": "4689:26:20", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 9332, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4689:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4638:78:20" - }, - "returnParameters": { - "id": 9337, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9336, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9374, - "src": "4735:12:20", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9335, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4735:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4734:14:20" - }, - "scope": 9505, - "src": "4608:523:20", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9389, - "nodeType": "Block", - "src": "5408:97:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9384, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9376, - "src": "5444:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9385, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9378, - "src": "5452:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "hexValue": "416464726573733a206c6f772d6c6576656c207374617469632063616c6c206661696c6564", - "id": 9386, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5458:39:20", - "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": 9383, - "name": "functionStaticCall", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 9390, - 9424 - ], - "referencedDeclaration": 9424, - "src": "5425:18:20", - "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": 9387, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5425:73:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 9382, - "id": 9388, - "nodeType": "Return", - "src": "5418:80:20" - } - ] - }, - "documentation": "@dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\nbut performing a static call.\n * _Available since v3.3._", - "id": 9390, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionStaticCall", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9379, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9376, - "name": "target", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9390, - "src": "5336:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9375, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5336:7:20", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9378, - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9390, - "src": "5352:17:20", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9377, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5352:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5335:35:20" - }, - "returnParameters": { - "id": 9382, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9381, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9390, - "src": "5394:12:20", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9380, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5394:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5393:14:20" - }, - "scope": 9505, - "src": "5308:197:20", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9423, - "nodeType": "Block", - "src": "5817:288:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9403, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9392, - "src": "5846:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 9402, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9238, - "src": "5835:10:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 9404, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5835:18:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416464726573733a207374617469632063616c6c20746f206e6f6e2d636f6e7472616374", - "id": 9405, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5855:38:20", - "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": 9401, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5827:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5827:67:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9407, - "nodeType": "ExpressionStatement", - "src": "5827:67:20" - }, - { - "assignments": [ - 9409, - 9411 - ], - "declarations": [ - { - "constant": false, - "id": 9409, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9423, - "src": "5965:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9408, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5965:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9411, - "name": "returndata", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9423, - "src": "5979:23:20", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9410, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5979:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9416, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9414, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9394, - "src": "6024:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 9412, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9392, - "src": "6006:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 9413, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "staticcall", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6006:17:20", - "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": 9415, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6006:23:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5964:65:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9418, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9409, - "src": "6064:7:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 9419, - "name": "returndata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9411, - "src": "6073:10:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 9420, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9396, - "src": "6085:12:20", - "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": 9417, - "name": "_verifyCallResult", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9504, - "src": "6046:17:20", - "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": 9421, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6046:52:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 9400, - "id": 9422, - "nodeType": "Return", - "src": "6039:59:20" - } - ] - }, - "documentation": "@dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\nbut performing a static call.\n * _Available since v3.3._", - "id": 9424, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionStaticCall", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9397, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9392, - "name": "target", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9424, - "src": "5717:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9391, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5717:7:20", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9394, - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9424, - "src": "5733:17:20", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9393, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5733:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9396, - "name": "errorMessage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9424, - "src": "5752:26:20", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 9395, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5752:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5716:63:20" - }, - "returnParameters": { - "id": 9400, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9399, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9424, - "src": "5803:12:20", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9398, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5803:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5802:14:20" - }, - "scope": 9505, - "src": "5689:416:20", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9439, - "nodeType": "Block", - "src": "6381:101:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9434, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9426, - "src": "6419:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9435, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9428, - "src": "6427:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "hexValue": "416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564", - "id": 9436, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6433:41:20", - "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": 9433, - "name": "functionDelegateCall", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 9440, - 9474 - ], - "referencedDeclaration": 9474, - "src": "6398:20:20", - "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": 9437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6398:77:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 9432, - "id": 9438, - "nodeType": "Return", - "src": "6391:84:20" - } - ] - }, - "documentation": "@dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\nbut performing a delegate call.\n * _Available since v3.4._", - "id": 9440, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionDelegateCall", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9429, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9426, - "name": "target", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9440, - "src": "6314:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9425, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6314:7:20", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9428, - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9440, - "src": "6330:17:20", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9427, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "6330:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6313:35:20" - }, - "returnParameters": { - "id": 9432, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9431, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9440, - "src": "6367:12:20", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9430, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "6367:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6366:14:20" - }, - "scope": 9505, - "src": "6284:198:20", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9473, - "nodeType": "Block", - "src": "6793:292:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9453, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9442, - "src": "6822:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 9452, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9238, - "src": "6811:10:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 9454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6811:18:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6e7472616374", - "id": 9455, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6831:40:20", - "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": 9451, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6803:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6803:69:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9457, - "nodeType": "ExpressionStatement", - "src": "6803:69:20" - }, - { - "assignments": [ - 9459, - 9461 - ], - "declarations": [ - { - "constant": false, - "id": 9459, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9473, - "src": "6943:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9458, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6943:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9461, - "name": "returndata", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9473, - "src": "6957:23:20", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9460, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "6957:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9466, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9464, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9444, - "src": "7004:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 9462, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9442, - "src": "6984:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 9463, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "delegatecall", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6984:19:20", - "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": 9465, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6984:25:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6942:67:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9468, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9459, - "src": "7044:7:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 9469, - "name": "returndata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9461, - "src": "7053:10:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 9470, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9446, - "src": "7065:12:20", - "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": 9467, - "name": "_verifyCallResult", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9504, - "src": "7026:17:20", - "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": 9471, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7026:52:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 9450, - "id": 9472, - "nodeType": "Return", - "src": "7019:59:20" - } - ] - }, - "documentation": "@dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\nbut performing a delegate call.\n * _Available since v3.4._", - "id": 9474, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionDelegateCall", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9447, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9442, - "name": "target", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9474, - "src": "6698:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9441, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6698:7:20", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9444, - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9474, - "src": "6714:17:20", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9443, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "6714:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9446, - "name": "errorMessage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9474, - "src": "6733:26:20", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 9445, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "6733:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6697:63:20" - }, - "returnParameters": { - "id": 9450, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9449, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9474, - "src": "6779:12:20", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9448, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "6779:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6778:14:20" - }, - "scope": 9505, - "src": "6668:417:20", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9503, - "nodeType": "Block", - "src": "7220:596:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "id": 9485, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9476, - "src": "7234:7:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 9501, - "nodeType": "Block", - "src": "7291:519:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9492, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9489, - "name": "returndata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9478, - "src": "7375:10:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 9490, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7375:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 9491, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7395:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7375:21:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 9499, - "nodeType": "Block", - "src": "7747:53:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9496, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9480, - "src": "7772:12:20", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 9495, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -19, - -19 - ], - "referencedDeclaration": -19, - "src": "7765:6:20", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 9497, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7765:20:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9498, - "nodeType": "ExpressionStatement", - "src": "7765:20:20" - } - ] - }, - "id": 9500, - "nodeType": "IfStatement", - "src": "7371:429:20", - "trueBody": { - "id": 9494, - "nodeType": "Block", - "src": "7398:343:20", - "statements": [ - { - "AST": { - "nodeType": "YulBlock", - "src": "7582:145:20", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "7604:40:20", - "value": { - "arguments": [ - { - "name": "returndata", - "nodeType": "YulIdentifier", - "src": "7633:10:20" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "7627:5:20" - }, - "nodeType": "YulFunctionCall", - "src": "7627:17:20" - }, - "variables": [ - { - "name": "returndata_size", - "nodeType": "YulTypedName", - "src": "7608:15:20", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7676:2:20", - "type": "", - "value": "32" - }, - { - "name": "returndata", - "nodeType": "YulIdentifier", - "src": "7680:10:20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7672:3:20" - }, - "nodeType": "YulFunctionCall", - "src": "7672:19:20" - }, - { - "name": "returndata_size", - "nodeType": "YulIdentifier", - "src": "7693:15:20" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "7665:6:20" - }, - "nodeType": "YulFunctionCall", - "src": "7665:44:20" - }, - "nodeType": "YulExpressionStatement", - "src": "7665:44:20" - } - ] - }, - "evmVersion": "istanbul", - "externalReferences": [ - { - "declaration": 9478, - "isOffset": false, - "isSlot": false, - "src": "7633:10:20", - "valueSize": 1 - }, - { - "declaration": 9478, - "isOffset": false, - "isSlot": false, - "src": "7680:10:20", - "valueSize": 1 - } - ], - "id": 9493, - "nodeType": "InlineAssembly", - "src": "7573:154:20" - } - ] - } - } - ] - }, - "id": 9502, - "nodeType": "IfStatement", - "src": "7230:580:20", - "trueBody": { - "id": 9488, - "nodeType": "Block", - "src": "7243:42:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 9486, - "name": "returndata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9478, - "src": "7264:10:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 9484, - "id": 9487, - "nodeType": "Return", - "src": "7257:17:20" - } - ] - } - } - ] - }, - "documentation": null, - "id": 9504, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_verifyCallResult", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9481, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9476, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9504, - "src": "7118:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9475, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7118:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9478, - "name": "returndata", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9504, - "src": "7132:23:20", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9477, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "7132:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9480, - "name": "errorMessage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9504, - "src": "7157:26:20", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 9479, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "7157:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7117:67:20" - }, - "returnParameters": { - "id": 9484, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9483, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9504, - "src": "7206:12:20", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9482, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "7206:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7205:14:20" - }, - "scope": 9505, - "src": "7091:725:20", - "stateMutability": "pure", - "virtual": false, - "visibility": "private" - } - ], - "scope": 9506, - "src": "134:7684:20" - } - ], - "src": "33:7786:20" - }, - "legacyAST": { - "absolutePath": "@openzeppelin/contracts/utils/Address.sol", - "exportedSymbols": { - "Address": [ - 9505 - ] - }, - "id": 9506, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 9222, - "literals": [ - "solidity", - ">=", - "0.6", - ".2", - "<", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:31:20" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": "@dev Collection of functions related to the address type", - "fullyImplemented": true, - "id": 9505, - "linearizedBaseContracts": [ - 9505 - ], - "name": "Address", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 9237, - "nodeType": "Block", - "src": "792:347:20", - "statements": [ - { - "assignments": [ - 9230 - ], - "declarations": [ - { - "constant": false, - "id": 9230, - "name": "size", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9237, - "src": "989:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9229, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "989:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9231, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "989:12:20" - }, - { - "AST": { - "nodeType": "YulBlock", - "src": "1076:32:20", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1078:28:20", - "value": { - "arguments": [ - { - "name": "account", - "nodeType": "YulIdentifier", - "src": "1098:7:20" - } - ], - "functionName": { - "name": "extcodesize", - "nodeType": "YulIdentifier", - "src": "1086:11:20" - }, - "nodeType": "YulFunctionCall", - "src": "1086:20:20" - }, - "variableNames": [ - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "1078:4:20" - } - ] - } - ] - }, - "evmVersion": "istanbul", - "externalReferences": [ - { - "declaration": 9224, - "isOffset": false, - "isSlot": false, - "src": "1098:7:20", - "valueSize": 1 - }, - { - "declaration": 9230, - "isOffset": false, - "isSlot": false, - "src": "1078:4:20", - "valueSize": 1 - } - ], - "id": 9232, - "nodeType": "InlineAssembly", - "src": "1067:41:20" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9235, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9233, - "name": "size", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9230, - "src": "1124:4:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 9234, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1131:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1124:8:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 9228, - "id": 9236, - "nodeType": "Return", - "src": "1117:15:20" - } - ] - }, - "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": 9238, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isContract", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9225, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9224, - "name": "account", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9238, - "src": "746:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9223, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "746:7:20", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "745:17:20" - }, - "returnParameters": { - "id": 9228, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9227, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9238, - "src": "786:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9226, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "786:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "785:6:20" - }, - "scope": 9505, - "src": "726:413:20", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9270, - "nodeType": "Block", - "src": "2127:320:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9252, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9248, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "2153:4:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Address_$9505", - "typeString": "library Address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Address_$9505", - "typeString": "library Address" - } - ], - "id": 9247, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2145:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 9246, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2145:7:20", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 9249, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2145:13:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 9250, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2145:21:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 9251, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9242, - "src": "2170:6:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2145:31:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416464726573733a20696e73756666696369656e742062616c616e6365", - "id": 9253, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2178:31:20", - "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": 9245, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2137:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9254, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2137:73:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9255, - "nodeType": "ExpressionStatement", - "src": "2137:73:20" - }, - { - "assignments": [ - 9257, - null - ], - "declarations": [ - { - "constant": false, - "id": 9257, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9270, - "src": "2299:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9256, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2299:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 9264, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "", - "id": 9262, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2349:2:20", - "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": 9258, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9240, - "src": "2317:9:20", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 9259, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "call", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2317:14:20", - "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": 9261, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "argumentTypes": null, - "id": 9260, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9242, - "src": "2340:6:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "src": "2317:31:20", - "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": 9263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2317:35:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2298:54:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9266, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9257, - "src": "2370:7:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416464726573733a20756e61626c6520746f2073656e642076616c75652c20726563697069656e74206d61792068617665207265766572746564", - "id": 9267, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2379:60:20", - "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": 9265, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2362:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2362:78:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9269, - "nodeType": "ExpressionStatement", - "src": "2362:78:20" - } - ] - }, - "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": 9271, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sendValue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9243, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9240, - "name": "recipient", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9271, - "src": "2075:25:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "id": 9239, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2075:15:20", - "stateMutability": "payable", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9242, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9271, - "src": "2102:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9241, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2102:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2074:43:20" - }, - "returnParameters": { - "id": 9244, - "nodeType": "ParameterList", - "parameters": [], - "src": "2127:0:20" - }, - "scope": 9505, - "src": "2056:391:20", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9286, - "nodeType": "Block", - "src": "3277:82:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9281, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9273, - "src": "3305:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9282, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9275, - "src": "3313:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "hexValue": "416464726573733a206c6f772d6c6576656c2063616c6c206661696c6564", - "id": 9283, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3319:32:20", - "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": 9280, - "name": "functionCall", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 9287, - 9306 - ], - "referencedDeclaration": 9306, - "src": "3292:12:20", - "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": 9284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3292:60:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 9279, - "id": 9285, - "nodeType": "Return", - "src": "3285:67:20" - } - ] - }, - "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": 9287, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionCall", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9276, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9273, - "name": "target", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9287, - "src": "3210:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9272, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3210:7:20", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9275, - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9287, - "src": "3226:17:20", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9274, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3226:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3209:35:20" - }, - "returnParameters": { - "id": 9279, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9278, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9287, - "src": "3263:12:20", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9277, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3263:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3262:14:20" - }, - "scope": 9505, - "src": "3188:171:20", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9305, - "nodeType": "Block", - "src": "3698:76:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9299, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9289, - "src": "3737:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9300, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9291, - "src": "3745:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 9301, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3751:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "argumentTypes": null, - "id": 9302, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9293, - "src": "3754:12:20", - "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": 9298, - "name": "functionCallWithValue", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 9325, - 9374 - ], - "referencedDeclaration": 9374, - "src": "3715:21:20", - "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": 9303, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3715:52:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 9297, - "id": 9304, - "nodeType": "Return", - "src": "3708:59:20" - } - ] - }, - "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": 9306, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionCall", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9294, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9289, - "name": "target", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9306, - "src": "3603:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9288, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3603:7:20", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9291, - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9306, - "src": "3619:17:20", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9290, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3619:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9293, - "name": "errorMessage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9306, - "src": "3638:26:20", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 9292, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3638:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3602:63:20" - }, - "returnParameters": { - "id": 9297, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9296, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9306, - "src": "3684:12:20", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9295, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3684:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3683:14:20" - }, - "scope": 9505, - "src": "3581:193:20", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9324, - "nodeType": "Block", - "src": "4249:111:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9318, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9308, - "src": "4288:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9319, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9310, - "src": "4296:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 9320, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9312, - "src": "4302:5:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "416464726573733a206c6f772d6c6576656c2063616c6c20776974682076616c7565206661696c6564", - "id": 9321, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4309:43:20", - "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": 9317, - "name": "functionCallWithValue", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 9325, - 9374 - ], - "referencedDeclaration": 9374, - "src": "4266:21:20", - "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": 9322, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4266:87:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 9316, - "id": 9323, - "nodeType": "Return", - "src": "4259:94:20" - } - ] - }, - "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": 9325, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionCallWithValue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9313, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9308, - "name": "target", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9325, - "src": "4167:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9307, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4167:7:20", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9310, - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9325, - "src": "4183:17:20", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9309, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4183:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9312, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9325, - "src": "4202:13:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9311, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4202:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4166:50:20" - }, - "returnParameters": { - "id": 9316, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9315, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9325, - "src": "4235:12:20", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9314, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4235:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4234:14:20" - }, - "scope": 9505, - "src": "4136:224:20", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9373, - "nodeType": "Block", - "src": "4749:382:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9341, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "4775:4:20", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Address_$9505", - "typeString": "library Address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Address_$9505", - "typeString": "library Address" - } - ], - "id": 9340, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4767:7:20", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 9339, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4767:7:20", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 9342, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4767:13:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 9343, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4767:21:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 9344, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9331, - "src": "4792:5:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4767:30:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c", - "id": 9346, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4799:40:20", - "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": 9338, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4759:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9347, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4759:81:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9348, - "nodeType": "ExpressionStatement", - "src": "4759:81:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9351, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9327, - "src": "4869:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 9350, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9238, - "src": "4858:10:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 9352, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4858:18:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374", - "id": 9353, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4878:31:20", - "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": 9349, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4850:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9354, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4850:60:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9355, - "nodeType": "ExpressionStatement", - "src": "4850:60:20" - }, - { - "assignments": [ - 9357, - 9359 - ], - "declarations": [ - { - "constant": false, - "id": 9357, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9373, - "src": "4981:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9356, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4981:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9359, - "name": "returndata", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9373, - "src": "4995:23:20", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9358, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4995:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9366, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9364, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9329, - "src": "5050:4:20", - "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": 9360, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9327, - "src": "5022:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 9361, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "call", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5022:11:20", - "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": 9363, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "argumentTypes": null, - "id": 9362, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9331, - "src": "5042:5:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "src": "5022:27:20", - "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": 9365, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5022:33:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4980:75:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9368, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9357, - "src": "5090:7:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 9369, - "name": "returndata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9359, - "src": "5099:10:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 9370, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9333, - "src": "5111:12:20", - "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": 9367, - "name": "_verifyCallResult", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9504, - "src": "5072:17:20", - "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": 9371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5072:52:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 9337, - "id": 9372, - "nodeType": "Return", - "src": "5065:59:20" - } - ] - }, - "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": 9374, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionCallWithValue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9334, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9327, - "name": "target", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9374, - "src": "4639:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9326, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4639:7:20", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9329, - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9374, - "src": "4655:17:20", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9328, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4655:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9331, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9374, - "src": "4674:13:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9330, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4674:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9333, - "name": "errorMessage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9374, - "src": "4689:26:20", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 9332, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4689:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4638:78:20" - }, - "returnParameters": { - "id": 9337, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9336, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9374, - "src": "4735:12:20", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9335, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4735:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4734:14:20" - }, - "scope": 9505, - "src": "4608:523:20", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9389, - "nodeType": "Block", - "src": "5408:97:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9384, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9376, - "src": "5444:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9385, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9378, - "src": "5452:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "hexValue": "416464726573733a206c6f772d6c6576656c207374617469632063616c6c206661696c6564", - "id": 9386, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5458:39:20", - "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": 9383, - "name": "functionStaticCall", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 9390, - 9424 - ], - "referencedDeclaration": 9424, - "src": "5425:18:20", - "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": 9387, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5425:73:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 9382, - "id": 9388, - "nodeType": "Return", - "src": "5418:80:20" - } - ] - }, - "documentation": "@dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\nbut performing a static call.\n * _Available since v3.3._", - "id": 9390, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionStaticCall", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9379, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9376, - "name": "target", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9390, - "src": "5336:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9375, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5336:7:20", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9378, - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9390, - "src": "5352:17:20", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9377, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5352:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5335:35:20" - }, - "returnParameters": { - "id": 9382, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9381, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9390, - "src": "5394:12:20", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9380, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5394:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5393:14:20" - }, - "scope": 9505, - "src": "5308:197:20", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9423, - "nodeType": "Block", - "src": "5817:288:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9403, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9392, - "src": "5846:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 9402, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9238, - "src": "5835:10:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 9404, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5835:18:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416464726573733a207374617469632063616c6c20746f206e6f6e2d636f6e7472616374", - "id": 9405, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5855:38:20", - "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": 9401, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5827:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5827:67:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9407, - "nodeType": "ExpressionStatement", - "src": "5827:67:20" - }, - { - "assignments": [ - 9409, - 9411 - ], - "declarations": [ - { - "constant": false, - "id": 9409, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9423, - "src": "5965:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9408, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5965:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9411, - "name": "returndata", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9423, - "src": "5979:23:20", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9410, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5979:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9416, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9414, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9394, - "src": "6024:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 9412, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9392, - "src": "6006:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 9413, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "staticcall", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6006:17:20", - "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": 9415, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6006:23:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5964:65:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9418, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9409, - "src": "6064:7:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 9419, - "name": "returndata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9411, - "src": "6073:10:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 9420, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9396, - "src": "6085:12:20", - "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": 9417, - "name": "_verifyCallResult", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9504, - "src": "6046:17:20", - "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": 9421, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6046:52:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 9400, - "id": 9422, - "nodeType": "Return", - "src": "6039:59:20" - } - ] - }, - "documentation": "@dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\nbut performing a static call.\n * _Available since v3.3._", - "id": 9424, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionStaticCall", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9397, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9392, - "name": "target", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9424, - "src": "5717:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9391, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5717:7:20", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9394, - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9424, - "src": "5733:17:20", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9393, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5733:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9396, - "name": "errorMessage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9424, - "src": "5752:26:20", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 9395, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5752:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5716:63:20" - }, - "returnParameters": { - "id": 9400, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9399, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9424, - "src": "5803:12:20", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9398, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5803:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5802:14:20" - }, - "scope": 9505, - "src": "5689:416:20", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9439, - "nodeType": "Block", - "src": "6381:101:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9434, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9426, - "src": "6419:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9435, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9428, - "src": "6427:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "hexValue": "416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564", - "id": 9436, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6433:41:20", - "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": 9433, - "name": "functionDelegateCall", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 9440, - 9474 - ], - "referencedDeclaration": 9474, - "src": "6398:20:20", - "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": 9437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6398:77:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 9432, - "id": 9438, - "nodeType": "Return", - "src": "6391:84:20" - } - ] - }, - "documentation": "@dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\nbut performing a delegate call.\n * _Available since v3.4._", - "id": 9440, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionDelegateCall", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9429, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9426, - "name": "target", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9440, - "src": "6314:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9425, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6314:7:20", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9428, - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9440, - "src": "6330:17:20", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9427, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "6330:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6313:35:20" - }, - "returnParameters": { - "id": 9432, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9431, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9440, - "src": "6367:12:20", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9430, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "6367:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6366:14:20" - }, - "scope": 9505, - "src": "6284:198:20", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9473, - "nodeType": "Block", - "src": "6793:292:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9453, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9442, - "src": "6822:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 9452, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9238, - "src": "6811:10:20", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 9454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6811:18:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6e7472616374", - "id": 9455, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6831:40:20", - "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": 9451, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6803:7:20", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6803:69:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9457, - "nodeType": "ExpressionStatement", - "src": "6803:69:20" - }, - { - "assignments": [ - 9459, - 9461 - ], - "declarations": [ - { - "constant": false, - "id": 9459, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9473, - "src": "6943:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9458, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6943:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9461, - "name": "returndata", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9473, - "src": "6957:23:20", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9460, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "6957:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9466, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9464, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9444, - "src": "7004:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 9462, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9442, - "src": "6984:6:20", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 9463, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "delegatecall", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6984:19:20", - "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": 9465, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6984:25:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6942:67:20" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9468, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9459, - "src": "7044:7:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 9469, - "name": "returndata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9461, - "src": "7053:10:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 9470, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9446, - "src": "7065:12:20", - "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": 9467, - "name": "_verifyCallResult", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9504, - "src": "7026:17:20", - "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": 9471, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7026:52:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 9450, - "id": 9472, - "nodeType": "Return", - "src": "7019:59:20" - } - ] - }, - "documentation": "@dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\nbut performing a delegate call.\n * _Available since v3.4._", - "id": 9474, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionDelegateCall", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9447, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9442, - "name": "target", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9474, - "src": "6698:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9441, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6698:7:20", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9444, - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9474, - "src": "6714:17:20", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9443, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "6714:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9446, - "name": "errorMessage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9474, - "src": "6733:26:20", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 9445, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "6733:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6697:63:20" - }, - "returnParameters": { - "id": 9450, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9449, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9474, - "src": "6779:12:20", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9448, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "6779:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6778:14:20" - }, - "scope": 9505, - "src": "6668:417:20", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9503, - "nodeType": "Block", - "src": "7220:596:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "id": 9485, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9476, - "src": "7234:7:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 9501, - "nodeType": "Block", - "src": "7291:519:20", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9492, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9489, - "name": "returndata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9478, - "src": "7375:10:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 9490, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7375:17:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 9491, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7395:1:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7375:21:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 9499, - "nodeType": "Block", - "src": "7747:53:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9496, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9480, - "src": "7772:12:20", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 9495, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -19, - -19 - ], - "referencedDeclaration": -19, - "src": "7765:6:20", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 9497, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7765:20:20", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9498, - "nodeType": "ExpressionStatement", - "src": "7765:20:20" - } - ] - }, - "id": 9500, - "nodeType": "IfStatement", - "src": "7371:429:20", - "trueBody": { - "id": 9494, - "nodeType": "Block", - "src": "7398:343:20", - "statements": [ - { - "AST": { - "nodeType": "YulBlock", - "src": "7582:145:20", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "7604:40:20", - "value": { - "arguments": [ - { - "name": "returndata", - "nodeType": "YulIdentifier", - "src": "7633:10:20" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "7627:5:20" - }, - "nodeType": "YulFunctionCall", - "src": "7627:17:20" - }, - "variables": [ - { - "name": "returndata_size", - "nodeType": "YulTypedName", - "src": "7608:15:20", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7676:2:20", - "type": "", - "value": "32" - }, - { - "name": "returndata", - "nodeType": "YulIdentifier", - "src": "7680:10:20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7672:3:20" - }, - "nodeType": "YulFunctionCall", - "src": "7672:19:20" - }, - { - "name": "returndata_size", - "nodeType": "YulIdentifier", - "src": "7693:15:20" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "7665:6:20" - }, - "nodeType": "YulFunctionCall", - "src": "7665:44:20" - }, - "nodeType": "YulExpressionStatement", - "src": "7665:44:20" - } - ] - }, - "evmVersion": "istanbul", - "externalReferences": [ - { - "declaration": 9478, - "isOffset": false, - "isSlot": false, - "src": "7633:10:20", - "valueSize": 1 - }, - { - "declaration": 9478, - "isOffset": false, - "isSlot": false, - "src": "7680:10:20", - "valueSize": 1 - } - ], - "id": 9493, - "nodeType": "InlineAssembly", - "src": "7573:154:20" - } - ] - } - } - ] - }, - "id": 9502, - "nodeType": "IfStatement", - "src": "7230:580:20", - "trueBody": { - "id": 9488, - "nodeType": "Block", - "src": "7243:42:20", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 9486, - "name": "returndata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9478, - "src": "7264:10:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 9484, - "id": 9487, - "nodeType": "Return", - "src": "7257:17:20" - } - ] - } - } - ] - }, - "documentation": null, - "id": 9504, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_verifyCallResult", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9481, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9476, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9504, - "src": "7118:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9475, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7118:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9478, - "name": "returndata", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9504, - "src": "7132:23:20", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9477, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "7132:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9480, - "name": "errorMessage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9504, - "src": "7157:26:20", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 9479, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "7157:6:20", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7117:67:20" - }, - "returnParameters": { - "id": 9484, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9483, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9504, - "src": "7206:12:20", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9482, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "7206:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7205:14:20" - }, - "scope": 9505, - "src": "7091:725:20", - "stateMutability": "pure", - "virtual": false, - "visibility": "private" - } - ], - "scope": 9506, - "src": "134:7684:20" - } - ], - "src": "33:7786:20" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.20", - "updatedAt": "2021-05-11T16:04:02.525Z", - "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 cda1e3d5..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:25;935:15;;-1:-1:-1;;;;;;508:18:10;935:15:25;516:10:10;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:25:-;;;:::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:10:-;;;:::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:10:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;864:188:10;-1:-1:-1;;;;;864:188:10;;:::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:25;:6;:8::i;:::-;1365:9;1357:38;;;;;-1:-1:-1;;;1357:38:25;;;;;;;;;;;;-1:-1:-1;;;1357:38:25;;;;;;;;;;;;;;;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:25;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:25;:6;:8::i;:::-;1365:9;1357:38;;;;;-1:-1:-1;;;1357:38:25;;;;;;;;;;;;-1:-1:-1;;;1357:38:25;;;;;;;;;;;;;;;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:10;;;;;-1:-1:-1;;;;;672:5:10;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:25:-;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:25;:6;:8::i;:::-;1365:9;1357:38;;;;;-1:-1:-1;;;1357:38:25;;;;;;;;;;;;-1:-1:-1;;;1357:38:25;;;;;;;;;;;;;;;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:25;;14162:1579:8::0;;:::o;711:33::-;;;;:::o;17026:103::-;672:5:10;;;;;-1:-1:-1;;;;;672:5:10;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:10;;;;;-1:-1:-1;;;;;672:5:10;658:10;:19;650:28;;;;;;17254:8:8::1;:20:::0;17186:95::o;1490:46::-;;;;:::o;239:20:10:-;;;;;;-1:-1:-1;;;;;239:20:10;;:::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:25;:6;:8::i;:::-;1365:9;1357:38;;;;;-1:-1:-1;;;1357:38:25;;;;;;;;;;;;-1:-1:-1;;;1357:38:25;;;;;;;;;;;;;;;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:25;9810:711:8::0;:::o;1448:35::-;;;;:::o;12357:1612::-;1366:8:25;:6;:8::i;:::-;1365:9;1357:38;;;;;-1:-1:-1;;;1357:38:25;;;;;;;;;;;;-1:-1:-1;;;1357:38:25;;;;;;;;;;;;;;;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:25;;;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:10;;;;;-1:-1:-1;;;;;672:5:10;658:10;:19;650:28;;;;;;1631:8:25::1;:6;:8::i;:::-;1623:41;;;::::0;;-1:-1:-1;;;1623:41:25;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;1623:41:25;;;;;;;;;;;;;::::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:10:-;672:5;;;;;-1:-1:-1;;;;;672:5:10;658:10;:19;650:28;;;;;;-1:-1:-1;;;;;944:22:10;::::1;936:31;;;::::0;::::1;;1003:5;::::0;;982:37:::1;::::0;-1:-1:-1;;;;;982:37:10;;::::1;::::0;1003:5:::1;::::0;;::::1;;::::0;982:37:::1;::::0;::::1;1029:5;:16:::0;;-1:-1:-1;;;;;1029:16:10;;::::1;;;-1:-1:-1::0;;;;;;1029:16:10;;::::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:13:-;3194:7;3226:1;3221;:6;;3213:49;;;;;-1:-1:-1;;;3213:49:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3279:5:13;;;3136:155::o;2690:175::-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;;-1:-1:-1;;;2794:46:13;;;;;;;;;;;;;;;;;;;;;;;;;;;3538:215;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:13;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4217:150;4275:7;4306:1;4302;:5;4294:44;;;;;-1:-1:-1;;;4294:44:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:13: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": [ - 6434 - ], - "_IERC20": [ - 4677 - ] - }, - "id": 6435, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4657, - "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": 4658, - "nodeType": "ImportDirective", - "scope": 6435, - "sourceUnit": 8210, - "src": "26:55:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Pausable.sol", - "file": "@openzeppelin/contracts/utils/Pausable.sol", - "id": 4659, - "nodeType": "ImportDirective", - "scope": 6435, - "sourceUnit": 10766, - "src": "82:52:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Ownable.sol", - "file": "../utils/Ownable.sol", - "id": 4660, - "nodeType": "ImportDirective", - "scope": 6435, - "sourceUnit": 7322, - "src": "135:30:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 4661, - "name": "IERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8278, - "src": "251:6:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$8278", - "typeString": "contract IERC20" - } - }, - "id": 4662, - "nodeType": "InheritanceSpecifier", - "src": "251:6:8" - } - ], - "contractDependencies": [ - 8278 - ], - "contractKind": "interface", - "documentation": "@dev Interface of the ERC20 standard + mint & burn", - "fullyImplemented": false, - "id": 4677, - "linearizedBaseContracts": [ - 4677, - 8278 - ], - "name": "_IERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": "@dev Mint Function", - "functionSelector": "40c10f19", - "id": 4669, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4667, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4664, - "name": "account", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4669, - "src": "320:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4663, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "320:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4666, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4669, - "src": "337:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4665, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "337:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "319:33:8" - }, - "returnParameters": { - "id": 4668, - "nodeType": "ParameterList", - "parameters": [], - "src": "361:0:8" - }, - "scope": 4677, - "src": "306:56:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Burn Function", - "functionSelector": "9dc29fac", - "id": 4676, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4674, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4671, - "name": "account", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4676, - "src": "422:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4670, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "422:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4673, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4676, - "src": "439:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4672, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "439:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "421:33:8" - }, - "returnParameters": { - "id": 4675, - "nodeType": "ParameterList", - "parameters": [], - "src": "463:0:8" - }, - "scope": 4677, - "src": "408:56:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6435, - "src": "230:237:8" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 4678, - "name": "Pausable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10765, - "src": "536:8:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Pausable_$10765", - "typeString": "contract Pausable" - } - }, - "id": 4679, - "nodeType": "InheritanceSpecifier", - "src": "536:8:8" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 4680, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7321, - "src": "546:7:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$7321", - "typeString": "contract Ownable" - } - }, - "id": 4681, - "nodeType": "InheritanceSpecifier", - "src": "546:7:8" - } - ], - "contractDependencies": [ - 7321, - 9668, - 10765 - ], - "contractKind": "contract", - "documentation": "@title BEPRO Network Contract", - "fullyImplemented": true, - "id": 6434, - "linearizedBaseContracts": [ - 6434, - 7321, - 10765, - 9668 - ], - "name": "BEPRONetwork", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 4684, - "libraryName": { - "contractScope": null, - "id": 4682, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7725, - "src": "565:8:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$7725", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "559:27:8", - "typeName": { - "id": 4683, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "578:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "functionSelector": "e113e452", - "id": 4686, - "name": "beproToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "592:25:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - }, - "typeName": { - "contractScope": null, - "id": 4685, - "name": "_IERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4677, - "src": "592:7:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": true, - "id": 4689, - "name": "year", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "624:40:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4687, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "624:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "333635", - "id": 4688, - "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": 4692, - "name": "incrementIssueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "670:35:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4690, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "670:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31", - "id": 4691, - "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": 4695, - "name": "closedIdsCount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "711:33:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4693, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "711:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 4694, - "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": 4698, - "name": "totalStaked", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "750:30:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4696, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "750:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 4697, - "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": 4701, - "name": "feeAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "786:70:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4699, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "786:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307843463343384265326532433432333331446138304546323130653942316233303743303364333641", - "id": 4700, - "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": 4704, - "name": "feeShare", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "862:27:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4702, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "862:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "32", - "id": 4703, - "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": 4707, - "name": "mergeCreatorFeeShare", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "939:39:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4705, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "939:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31", - "id": 4706, - "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": 4710, - "name": "percentageNeededForApprove", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "1035:46:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4708, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1035:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3130", - "id": 4709, - "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": 4713, - "name": "percentageNeededForDispute", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "1153:45:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4711, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1153:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "33", - "id": 4712, - "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": 4716, - "name": "timeOpenForIssueApprove", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "1270:56:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4714, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1270:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "33", - "id": 4715, - "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": 4719, - "name": "percentageNeededForMerge", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "1332:44:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4717, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1332:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3230", - "id": 4718, - "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": 4722, - "name": "beproVotesStaked", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "1448:35:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4720, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1448:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 4721, - "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": 4725, - "name": "COUNCIL_BEPRO_AMOUNT", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "1490:46:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4723, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1490:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3130303030303030", - "id": 4724, - "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": 4728, - "name": "OPERATOR_BEPRO_AMOUNT", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "1549:46:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4726, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1549:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31303030303030", - "id": 4727, - "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": 4731, - "name": "DEVELOPER_BEPRO_AMOUNT", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "1607:45:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4729, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1607:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3130303030", - "id": 4730, - "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": 4735, - "name": "issues", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "1666:39:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue)" - }, - "typeName": { - "id": 4734, - "keyType": { - "id": 4732, - "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_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue)" - }, - "valueType": { - "contractScope": null, - "id": 4733, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4795, - "src": "1685:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_storage_ptr", - "typeString": "struct BEPRONetwork.Issue" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "1ac63d92", - "id": 4740, - "name": "myIssues", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "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": 4739, - "keyType": { - "id": 4736, - "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": 4737, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1756:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4738, - "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": 4744, - "name": "voters", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "1821:39:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter)" - }, - "typeName": { - "id": 4743, - "keyType": { - "id": 4741, - "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_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter)" - }, - "valueType": { - "contractScope": null, - "id": 4742, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4807, - "src": "1840:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "53da4247", - "id": 4747, - "name": "votersArray", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "1867:28:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 4745, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1867:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4746, - "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": 4770, - "members": [ - { - "constant": false, - "id": 4749, - "name": "_id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4770, - "src": "1935:11:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4748, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1935:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4753, - "name": "votesForMergeByAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4770, - "src": "1956:50:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 4752, - "keyType": { - "id": 4750, - "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": 4751, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1975:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4757, - "name": "disputesForMergeByAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4770, - "src": "2051:53:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 4756, - "keyType": { - "id": 4754, - "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": 4755, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2070:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4759, - "name": "votes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4770, - "src": "2149:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4758, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2149:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4761, - "name": "disputes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4770, - "src": "2195:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4760, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2195:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4764, - "name": "prAddresses", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4770, - "src": "2244:21:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 4762, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2244:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4763, - "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": 4767, - "name": "prAmounts", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4770, - "src": "2275:19:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 4765, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2275:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4766, - "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": 4769, - "name": "proposalAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4770, - "src": "2304:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4768, - "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": 6434, - "src": "1904:430:8", - "visibility": "public" - }, - { - "canonicalName": "BEPRONetwork.Issue", - "id": 4795, - "members": [ - { - "constant": false, - "id": 4772, - "name": "_id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4795, - "src": "2363:11:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4771, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2363:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4774, - "name": "creationDate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4795, - "src": "2384:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4773, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2384:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4776, - "name": "beproStaked", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4795, - "src": "2414:19:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4775, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2414:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4778, - "name": "issueGenerator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4795, - "src": "2443:22:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4777, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2443:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4782, - "name": "votesForApproveByAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4795, - "src": "2475:52:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 4781, - "keyType": { - "id": 4779, - "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": 4780, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2494:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4784, - "name": "votesForApprove", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4795, - "src": "2537:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4783, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2537:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4788, - "name": "mergeProposals", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4795, - "src": "2570:48:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$4770_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal)" - }, - "typeName": { - "id": 4787, - "keyType": { - "id": 4785, - "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_$4770_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal)" - }, - "valueType": { - "contractScope": null, - "id": 4786, - "name": "MergeProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4770, - "src": "2589:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4790, - "name": "mergeIDIncrement", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4795, - "src": "2652:24:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4789, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2652:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4792, - "name": "finalized", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4795, - "src": "2686:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4791, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2686:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4794, - "name": "canceled", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4795, - "src": "2710:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4793, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2710:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Issue", - "nodeType": "StructDefinition", - "scope": 6434, - "src": "2340:390:8", - "visibility": "public" - }, - { - "canonicalName": "BEPRONetwork.Voter", - "id": 4807, - "members": [ - { - "constant": false, - "id": 4797, - "name": "votesDelegatedByOthers", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4807, - "src": "2759:30:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4796, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2759:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4801, - "name": "votesDelegated", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4807, - "src": "2799:42:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 4800, - "keyType": { - "id": 4798, - "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": 4799, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2818:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4804, - "name": "delegatedVotesAddresses", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4807, - "src": "2851:33:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 4802, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2851:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4803, - "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": 4806, - "name": "beproLocked", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4807, - "src": "2894:19:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4805, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2894:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Voter", - "nodeType": "StructDefinition", - "scope": 6434, - "src": "2736:184:8", - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 4815, - "name": "OpenIssue", - "nodeType": "EventDefinition", - "parameters": { - "id": 4814, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4809, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4815, - "src": "2942:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4808, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2942:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4811, - "indexed": true, - "name": "opener", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4815, - "src": "2962:22:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4810, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2962:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4813, - "indexed": true, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4815, - "src": "2986:22:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4812, - "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": 4823, - "name": "ApproveIssue", - "nodeType": "EventDefinition", - "parameters": { - "id": 4822, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4817, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4823, - "src": "3034:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4816, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3034:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4819, - "indexed": true, - "name": "votes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4823, - "src": "3054:21:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4818, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3054:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4821, - "indexed": true, - "name": "approver", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4823, - "src": "3077:24:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4820, - "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": 4831, - "name": "MergeProposalCreated", - "nodeType": "EventDefinition", - "parameters": { - "id": 4830, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4825, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4831, - "src": "3135:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4824, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3135:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4827, - "indexed": true, - "name": "mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4831, - "src": "3155:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4826, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3155:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4829, - "indexed": true, - "name": "creator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4831, - "src": "3180:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4828, - "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": 4841, - "name": "DisputeMerge", - "nodeType": "EventDefinition", - "parameters": { - "id": 4840, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4833, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4841, - "src": "3229:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4832, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3229:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4835, - "indexed": true, - "name": "mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4841, - "src": "3249:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4834, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3249:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4837, - "indexed": false, - "name": "votes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4841, - "src": "3274:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4836, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3274:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4839, - "indexed": true, - "name": "disputer", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4841, - "src": "3289:24:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4838, - "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": 4851, - "name": "ApproveMerge", - "nodeType": "EventDefinition", - "parameters": { - "id": 4850, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4843, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4851, - "src": "3339:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4842, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3339:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4845, - "indexed": true, - "name": "mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4851, - "src": "3359:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4844, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3359:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4847, - "indexed": false, - "name": "votes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4851, - "src": "3384:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4846, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3384:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4849, - "indexed": true, - "name": "approver", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4851, - "src": "3399:24:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4848, - "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": 4860, - "name": "CloseIssue", - "nodeType": "EventDefinition", - "parameters": { - "id": 4859, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4853, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4860, - "src": "3447:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4852, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3447:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4855, - "indexed": true, - "name": "mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4860, - "src": "3467:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4854, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3467:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4858, - "indexed": true, - "name": "addresses", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4860, - "src": "3492:27:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 4856, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3492:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4857, - "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": 4871, - "nodeType": "Block", - "src": "3569:53:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 4869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4865, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4686, - "src": "3580:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4867, - "name": "_tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4862, - "src": "3601:13:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4866, - "name": "_IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4677, - "src": "3593:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$__IERC20_$4677_$", - "typeString": "type(contract _IERC20)" - } - }, - "id": 4868, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3593:22:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "src": "3580:35:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "id": 4870, - "nodeType": "ExpressionStatement", - "src": "3580:35:8" - } - ] - }, - "documentation": null, - "id": 4872, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4863, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4862, - "name": "_tokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4872, - "src": "3539:21:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4861, - "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": 4864, - "nodeType": "ParameterList", - "parameters": [], - "src": "3569:0:8" - }, - "scope": 6434, - "src": "3527:95:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4981, - "nodeType": "Block", - "src": "3676:791:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4880, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4878, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4874, - "src": "3694:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4879, - "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": 4881, - "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": 4877, - "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": 4882, - "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": 4883, - "nodeType": "ExpressionStatement", - "src": "3686:64:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4887, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3792:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4888, - "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": 4891, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "3812:4:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BEPRONetwork_$6434", - "typeString": "contract BEPRONetwork" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_BEPRONetwork_$6434", - "typeString": "contract BEPRONetwork" - } - ], - "id": 4890, - "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": 4889, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3804:7:8", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 4892, - "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": 4893, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4874, - "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": 4885, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4686, - "src": "3768:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "id": 4886, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 8261, - "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": 4894, - "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": 4895, - "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": 4884, - "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": 4896, - "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": 4897, - "nodeType": "ExpressionStatement", - "src": "3760:92:8" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4904, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4898, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "3866:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 4901, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4899, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3873:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4900, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 4902, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4806, - "src": "3866:30:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4903, - "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": 4979, - "nodeType": "Block", - "src": "4159:302:8", - "statements": [ - { - "assignments": [ - 4943 - ], - "declarations": [ - { - "constant": false, - "id": 4943, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4979, - "src": "4203:19:8", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - }, - "typeName": { - "contractScope": null, - "id": 4942, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4807, - "src": "4203:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4948, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4944, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "4225:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 4947, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4945, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4232:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4946, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4203:40:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 4953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4949, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4943, - "src": "4257:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 4951, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4806, - "src": "4257:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4952, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4874, - "src": "4277:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4257:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4954, - "nodeType": "ExpressionStatement", - "src": "4257:32:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 4961, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4955, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4943, - "src": "4303:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 4957, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "delegatedVotesAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 4804, - "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": 4958, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4336:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4959, - "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": 4960, - "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": 4962, - "nodeType": "ExpressionStatement", - "src": "4303:44:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 4970, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4963, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4943, - "src": "4361:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 4967, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 4801, - "src": "4361:20:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 4968, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4965, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4382:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4966, - "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": 4969, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4874, - "src": "4396:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4361:47:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4971, - "nodeType": "ExpressionStatement", - "src": "4361:47:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4975, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4439:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4976, - "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": 4972, - "name": "votersArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4747, - "src": "4422:11:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 4974, - "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": 4977, - "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": 4978, - "nodeType": "ExpressionStatement", - "src": "4422:28:8" - } - ] - }, - "id": 4980, - "nodeType": "IfStatement", - "src": "3863:598:8", - "trueBody": { - "id": 4941, - "nodeType": "Block", - "src": "3902:253:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 4924, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4905, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "3938:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 4908, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4906, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3945:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4907, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 4909, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 4801, - "src": "3938:33:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 4912, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4910, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3972:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4911, - "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": 4922, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4874, - "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": 4913, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "3986:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 4916, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4914, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3993:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4915, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 4917, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 4801, - "src": "3986:33:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 4920, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4918, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4020:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4919, - "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": 4921, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7559, - "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": 4923, - "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": 4925, - "nodeType": "ExpressionStatement", - "src": "3938:111:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 4939, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4926, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "4063:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 4929, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4927, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4070:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4928, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 4930, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4806, - "src": "4063:30:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4937, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4874, - "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": 4931, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "4096:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 4934, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4932, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4103:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4933, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 4935, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4806, - "src": "4096:30:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4936, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7559, - "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": 4938, - "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": 4940, - "nodeType": "ExpressionStatement", - "src": "4063:81:8" - } - ] - } - } - ] - }, - "documentation": null, - "functionSelector": "9816c170", - "id": 4982, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "lockBepro", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4875, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4874, - "name": "_beproAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4982, - "src": "3647:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4873, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3647:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3646:22:8" - }, - "returnParameters": { - "id": 4876, - "nodeType": "ParameterList", - "parameters": [], - "src": "3676:0:8" - }, - "scope": 6434, - "src": "3628:839:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5077, - "nodeType": "Block", - "src": "4538:697:8", - "statements": [ - { - "assignments": [ - 4990 - ], - "declarations": [ - { - "constant": false, - "id": 4990, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5077, - "src": "4548:19:8", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - }, - "typeName": { - "contractScope": null, - "id": 4989, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4807, - "src": "4548:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4995, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4991, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "4570:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 4994, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4992, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4577:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4993, - "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_$4807_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": 5000, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4997, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4990, - "src": "4606:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 4998, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4806, - "src": "4606:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 4999, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4984, - "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": 5001, - "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": 4996, - "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": 5002, - "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": 5003, - "nodeType": "ExpressionStatement", - "src": "4598:73:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5010, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5005, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4990, - "src": "4689:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5006, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 4801, - "src": "4689:20:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5008, - "indexExpression": { - "argumentTypes": null, - "id": 5007, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4986, - "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": 5009, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4984, - "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": 5011, - "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": 5004, - "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": 5012, - "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": 5013, - "nodeType": "ExpressionStatement", - "src": "4681:88:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5024, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5014, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "4780:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5017, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5015, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4787:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5016, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5018, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4806, - "src": "4780:30:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5022, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4984, - "src": "4835:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5019, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4990, - "src": "4813:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5020, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4806, - "src": "4813:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5021, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7580, - "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": 5023, - "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": 5025, - "nodeType": "ExpressionStatement", - "src": "4780:68:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5040, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5026, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "4858:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5029, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5027, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4865:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5028, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5030, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 4801, - "src": "4858:33:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5032, - "indexExpression": { - "argumentTypes": null, - "id": 5031, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4986, - "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": 5038, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4984, - "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": 5033, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4990, - "src": "4901:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5034, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 4801, - "src": "4901:20:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5036, - "indexExpression": { - "argumentTypes": null, - "id": 5035, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4986, - "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": 5037, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7580, - "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": 5039, - "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": 5041, - "nodeType": "ExpressionStatement", - "src": "4858:88:8" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5045, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5042, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4959:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5043, - "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": 5044, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4986, - "src": "4973:5:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "4959:19:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5060, - "nodeType": "IfStatement", - "src": "4956:141:8", - "trueBody": { - "id": 5059, - "nodeType": "Block", - "src": "4979:118:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5057, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5046, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "4993:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5048, - "indexExpression": { - "argumentTypes": null, - "id": 5047, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4986, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5049, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "votesDelegatedByOthers", - "nodeType": "MemberAccess", - "referencedDeclaration": 4797, - "src": "4993:36:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5055, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4984, - "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": 5050, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "5032:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5052, - "indexExpression": { - "argumentTypes": null, - "id": 5051, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4986, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5053, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegatedByOthers", - "nodeType": "MemberAccess", - "referencedDeclaration": 4797, - "src": "5032:36:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5054, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7580, - "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": 5056, - "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": 5058, - "nodeType": "ExpressionStatement", - "src": "4993:93:8" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5064, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5135:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5065, - "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": 5066, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4984, - "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": 5062, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4686, - "src": "5115:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "id": 5063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 8232, - "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": 5067, - "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": 5068, - "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": 5061, - "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": 5069, - "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": 5070, - "nodeType": "ExpressionStatement", - "src": "5107:77:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5074, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4984, - "src": "5215:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5071, - "name": "beproVotesStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4722, - "src": "5194:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5073, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7580, - "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": 5075, - "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": 5076, - "nodeType": "ExpressionStatement", - "src": "5194:34:8" - } - ] - }, - "documentation": null, - "functionSelector": "f38b79b7", - "id": 5078, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "unlockBepro", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4987, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4984, - "name": "_beproAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5078, - "src": "4494:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4983, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4494:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4986, - "name": "_from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5078, - "src": "4516:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4985, - "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": 4988, - "nodeType": "ParameterList", - "parameters": [], - "src": "4538:0:8" - }, - "scope": 6434, - "src": "4473:762:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5189, - "nodeType": "Block", - "src": "5319:849:8", - "statements": [ - { - "assignments": [ - 5086 - ], - "declarations": [ - { - "constant": false, - "id": 5086, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5189, - "src": "5329:19:8", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - }, - "typeName": { - "contractScope": null, - "id": 5085, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4807, - "src": "5329:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5091, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5087, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "5351:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5090, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5088, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5358:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5089, - "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_$4807_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": 5098, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5093, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5082, - "src": "5388:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5096, - "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": 5095, - "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": 5094, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5404:7:8", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5097, - "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": 5099, - "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": 5092, - "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": 5100, - "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": 5101, - "nodeType": "ExpressionStatement", - "src": "5380:74:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5106, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5103, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5082, - "src": "5472:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5104, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5488:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5105, - "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": 5107, - "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": 5102, - "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": 5108, - "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": 5109, - "nodeType": "ExpressionStatement", - "src": "5464:64:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5114, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5111, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5086, - "src": "5547:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5112, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4806, - "src": "5547:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 5113, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "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": 5115, - "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": 5110, - "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": 5116, - "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": 5117, - "nodeType": "ExpressionStatement", - "src": "5539:73:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5125, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5119, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5086, - "src": "5630:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5120, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 4801, - "src": "5630:20:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5123, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5121, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5651:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5122, - "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": 5124, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "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": 5126, - "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": 5118, - "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": 5127, - "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": 5128, - "nodeType": "ExpressionStatement", - "src": "5622:93:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5145, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5129, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "5726:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5132, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5130, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5733:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5131, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5133, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 4801, - "src": "5726:33:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5136, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5134, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5760:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5135, - "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": 5143, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "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": 5137, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5086, - "src": "5774:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5138, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 4801, - "src": "5774:20:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5141, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5139, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5795:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5140, - "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": 5142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7580, - "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": 5144, - "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": 5146, - "nodeType": "ExpressionStatement", - "src": "5726:98:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5147, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "5834:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5150, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5148, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5841:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5149, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5151, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 4801, - "src": "5834:33:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5153, - "indexExpression": { - "argumentTypes": null, - "id": 5152, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5082, - "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": 5159, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "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": 5154, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5086, - "src": "5884:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5155, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 4801, - "src": "5884:20:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5157, - "indexExpression": { - "argumentTypes": null, - "id": 5156, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5082, - "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": 5158, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7559, - "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": 5160, - "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": 5162, - "nodeType": "ExpressionStatement", - "src": "5834:102:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5172, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5164, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "5955:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5166, - "indexExpression": { - "argumentTypes": null, - "id": 5165, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5082, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5167, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4806, - "src": "5955:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5170, - "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": 5169, - "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": 5168, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5991:7:8", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5171, - "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": 5173, - "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": 5163, - "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": 5174, - "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": 5175, - "nodeType": "ExpressionStatement", - "src": "5947:97:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5187, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5176, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "6054:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5178, - "indexExpression": { - "argumentTypes": null, - "id": 5177, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5082, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5179, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "votesDelegatedByOthers", - "nodeType": "MemberAccess", - "referencedDeclaration": 4797, - "src": "6054:43:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5185, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "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": 5180, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "6100:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5182, - "indexExpression": { - "argumentTypes": null, - "id": 5181, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5082, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5183, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegatedByOthers", - "nodeType": "MemberAccess", - "referencedDeclaration": 4797, - "src": "6100:43:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7559, - "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": 5186, - "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": 5188, - "nodeType": "ExpressionStatement", - "src": "6054:107:8" - } - ] - }, - "documentation": null, - "id": 5190, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "delegateOracles", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5083, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5080, - "name": "_beproAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5190, - "src": "5266:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5079, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5266:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5082, - "name": "_delegatedTo", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5190, - "src": "5288:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5081, - "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": 5084, - "nodeType": "ParameterList", - "parameters": [], - "src": "5319:0:8" - }, - "scope": 6434, - "src": "5241:927:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5272, - "nodeType": "Block", - "src": "6221:596:8", - "statements": [ - { - "assignments": [ - 5196 - ], - "declarations": [ - { - "constant": false, - "id": 5196, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5272, - "src": "6231:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_memory_ptr", - "typeString": "struct BEPRONetwork.Voter" - }, - "typeName": { - "contractScope": null, - "id": 5195, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4807, - "src": "6231:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5201, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5197, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "6252:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5200, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5198, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6259:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5199, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6231:39:8" - }, - { - "assignments": [ - 5203 - ], - "declarations": [ - { - "constant": false, - "id": 5203, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5272, - "src": "6280:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue" - }, - "typeName": { - "contractScope": null, - "id": 5202, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4795, - "src": "6280:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_storage_ptr", - "typeString": "struct BEPRONetwork.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5207, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5204, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "6301:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5206, - "indexExpression": { - "argumentTypes": null, - "id": 5205, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5192, - "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_$4795_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": 5212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5209, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5203, - "src": "6335:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5210, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 4772, - "src": "6335:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5211, - "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": 5213, - "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": 5208, - "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": 5214, - "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": 5215, - "nodeType": "ExpressionStatement", - "src": "6327:47:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5218, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5192, - "src": "6410:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5217, - "name": "isIssueApprovable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5491, - "src": "6392:17:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 5219, - "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": 5216, - "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": 5220, - "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": 5221, - "nodeType": "ExpressionStatement", - "src": "6384:36:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5231, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5223, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "6438:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5225, - "indexExpression": { - "argumentTypes": null, - "id": 5224, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5192, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5226, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForApproveByAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 4782, - "src": "6438:41:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5229, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5227, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6480:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5228, - "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": 5230, - "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": 5232, - "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": 5222, - "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": 5233, - "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": 5234, - "nodeType": "ExpressionStatement", - "src": "6430:88:8" - }, - { - "assignments": [ - 5236 - ], - "declarations": [ - { - "constant": false, - "id": 5236, - "name": "votesToAdd", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5272, - "src": "6529:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5235, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6529:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5241, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5238, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6568:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5239, - "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": 5237, - "name": "getVotesByAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6294, - "src": "6550:17:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) returns (uint256)" - } - }, - "id": 5240, - "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": 5253, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5242, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "6589:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5244, - "indexExpression": { - "argumentTypes": null, - "id": 5243, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5192, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5245, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "votesForApprove", - "nodeType": "MemberAccess", - "referencedDeclaration": 4784, - "src": "6589:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5251, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5236, - "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": 5246, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "6624:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5248, - "indexExpression": { - "argumentTypes": null, - "id": 5247, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5192, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5249, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForApprove", - "nodeType": "MemberAccess", - "referencedDeclaration": 4784, - "src": "6624:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5250, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7559, - "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": 5252, - "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": 5254, - "nodeType": "ExpressionStatement", - "src": "6589:83:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5255, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "6682:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5257, - "indexExpression": { - "argumentTypes": null, - "id": 5256, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5192, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5258, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForApproveByAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 4782, - "src": "6682:41:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5261, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5259, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6724:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5260, - "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": 5262, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5236, - "src": "6738:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6682:66:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5264, - "nodeType": "ExpressionStatement", - "src": "6682:66:8" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5266, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5192, - "src": "6777:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5267, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5236, - "src": "6787:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5268, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6799:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5269, - "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": 5265, - "name": "ApproveIssue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4823, - "src": "6764:12:8", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,uint256,address)" - } - }, - "id": 5270, - "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": 5271, - "nodeType": "EmitStatement", - "src": "6759:51:8" - } - ] - }, - "documentation": null, - "functionSelector": "56036543", - "id": 5273, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approveIssue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5193, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5192, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5273, - "src": "6196:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5191, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6196:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6195:18:8" - }, - "returnParameters": { - "id": 5194, - "nodeType": "ParameterList", - "parameters": [], - "src": "6221:0:8" - }, - "scope": 6434, - "src": "6174:643:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5371, - "nodeType": "Block", - "src": "6888:748:8", - "statements": [ - { - "assignments": [ - 5281 - ], - "declarations": [ - { - "constant": false, - "id": 5281, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5371, - "src": "6898:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_memory_ptr", - "typeString": "struct BEPRONetwork.Voter" - }, - "typeName": { - "contractScope": null, - "id": 5280, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4807, - "src": "6898:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5286, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5282, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "6919:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5285, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5283, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6926:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5284, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6898:39:8" - }, - { - "assignments": [ - 5288 - ], - "declarations": [ - { - "constant": false, - "id": 5288, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5371, - "src": "6947:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue" - }, - "typeName": { - "contractScope": null, - "id": 5287, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4795, - "src": "6947:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_storage_ptr", - "typeString": "struct BEPRONetwork.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5292, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5289, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "6968:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5291, - "indexExpression": { - "argumentTypes": null, - "id": 5290, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5275, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6947:37:8" - }, - { - "assignments": [ - 5294 - ], - "declarations": [ - { - "constant": false, - "id": 5294, - "name": "merge", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5371, - "src": "6994:27:8", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - }, - "typeName": { - "contractScope": null, - "id": 5293, - "name": "MergeProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4770, - "src": "6994:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5301, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5295, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "7024:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5297, - "indexExpression": { - "argumentTypes": null, - "id": 5296, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5275, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5298, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 4788, - "src": "7024:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$4770_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 5300, - "indexExpression": { - "argumentTypes": null, - "id": 5299, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5277, - "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_$4770_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": 5306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5303, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5288, - "src": "7083:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5304, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 4772, - "src": "7083:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5305, - "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": 5307, - "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": 5302, - "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": 5308, - "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": 5309, - "nodeType": "ExpressionStatement", - "src": "7075:47:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5311, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5288, - "src": "7140:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5312, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 4790, - "src": "7140:22:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 5313, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5277, - "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": 5315, - "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": 5310, - "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": 5316, - "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": 5317, - "nodeType": "ExpressionStatement", - "src": "7132:76:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5319, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5294, - "src": "7226:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal storage pointer" - } - }, - "id": 5320, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForMergeByAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 4753, - "src": "7226:28:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5323, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5321, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7255:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5322, - "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": 5324, - "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": 5326, - "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": 5318, - "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": 5327, - "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": 5328, - "nodeType": "ExpressionStatement", - "src": "7218:75:8" - }, - { - "assignments": [ - 5330 - ], - "declarations": [ - { - "constant": false, - "id": 5330, - "name": "votesToAdd", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5371, - "src": "7304:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5329, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7304:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5335, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5332, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7343:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5333, - "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": 5331, - "name": "getVotesByAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6294, - "src": "7325:17:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) returns (uint256)" - } - }, - "id": 5334, - "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": 5348, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5336, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "7373:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5338, - "indexExpression": { - "argumentTypes": null, - "id": 5337, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5275, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5339, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 4788, - "src": "7373:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$4770_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 5341, - "indexExpression": { - "argumentTypes": null, - "id": 5340, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5277, - "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_$4770_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 5342, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 4759, - "src": "7373:47:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5346, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5330, - "src": "7439:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5343, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5294, - "src": "7423:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal storage pointer" - } - }, - "id": 5344, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 4759, - "src": "7423:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7559, - "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": 5347, - "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": 5349, - "nodeType": "ExpressionStatement", - "src": "7373:77:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5361, - "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": 5350, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "7460:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5352, - "indexExpression": { - "argumentTypes": null, - "id": 5351, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5275, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5353, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 4788, - "src": "7460:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$4770_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 5355, - "indexExpression": { - "argumentTypes": null, - "id": 5354, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5277, - "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_$4770_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 5356, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForMergeByAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 4753, - "src": "7460:64:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5359, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5357, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7525:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5358, - "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": 5360, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5330, - "src": "7539:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7460:89:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5362, - "nodeType": "ExpressionStatement", - "src": "7460:89:8" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5364, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5275, - "src": "7586:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5365, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5277, - "src": "7596:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5366, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5330, - "src": "7606:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5367, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7618:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5368, - "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": 5363, - "name": "ApproveMerge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4851, - "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": 5369, - "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": 5370, - "nodeType": "EmitStatement", - "src": "7568:61:8" - } - ] - }, - "documentation": null, - "functionSelector": "953030c5", - "id": 5372, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approveMerge", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5278, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5275, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5372, - "src": "6845:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5274, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6845:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5277, - "name": "_mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5372, - "src": "6863:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5276, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6863:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6844:36:8" - }, - "returnParameters": { - "id": 5279, - "nodeType": "ParameterList", - "parameters": [], - "src": "6888:0:8" - }, - "scope": 6434, - "src": "6823:813:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5470, - "nodeType": "Block", - "src": "7707:760:8", - "statements": [ - { - "assignments": [ - 5380 - ], - "declarations": [ - { - "constant": false, - "id": 5380, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5470, - "src": "7717:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_memory_ptr", - "typeString": "struct BEPRONetwork.Voter" - }, - "typeName": { - "contractScope": null, - "id": 5379, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4807, - "src": "7717:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5385, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5381, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "7738:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5384, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5382, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7745:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5383, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7717:39:8" - }, - { - "assignments": [ - 5387 - ], - "declarations": [ - { - "constant": false, - "id": 5387, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5470, - "src": "7766:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue" - }, - "typeName": { - "contractScope": null, - "id": 5386, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4795, - "src": "7766:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_storage_ptr", - "typeString": "struct BEPRONetwork.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5391, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5388, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "7787:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5390, - "indexExpression": { - "argumentTypes": null, - "id": 5389, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5374, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7766:37:8" - }, - { - "assignments": [ - 5393 - ], - "declarations": [ - { - "constant": false, - "id": 5393, - "name": "merge", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5470, - "src": "7813:27:8", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - }, - "typeName": { - "contractScope": null, - "id": 5392, - "name": "MergeProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4770, - "src": "7813:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5400, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5394, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "7843:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5396, - "indexExpression": { - "argumentTypes": null, - "id": 5395, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5374, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5397, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 4788, - "src": "7843:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$4770_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 5399, - "indexExpression": { - "argumentTypes": null, - "id": 5398, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5376, - "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_$4770_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": 5405, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5402, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5387, - "src": "7902:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5403, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 4772, - "src": "7902:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5404, - "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": 5406, - "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": 5401, - "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": 5407, - "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": 5408, - "nodeType": "ExpressionStatement", - "src": "7894:47:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5413, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5410, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5387, - "src": "7959:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5411, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 4790, - "src": "7959:22:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 5412, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5376, - "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": 5414, - "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": 5409, - "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": 5415, - "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": 5416, - "nodeType": "ExpressionStatement", - "src": "7951:76:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5418, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5393, - "src": "8045:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal storage pointer" - } - }, - "id": 5419, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "disputesForMergeByAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 4757, - "src": "8045:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5422, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5420, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8077:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5421, - "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": 5423, - "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": 5425, - "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": 5417, - "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": 5426, - "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": 5427, - "nodeType": "ExpressionStatement", - "src": "8037:78:8" - }, - { - "assignments": [ - 5429 - ], - "declarations": [ - { - "constant": false, - "id": 5429, - "name": "votesToAdd", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5470, - "src": "8126:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5428, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8126:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5434, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5431, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8165:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5432, - "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": 5430, - "name": "getVotesByAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6294, - "src": "8147:17:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) returns (uint256)" - } - }, - "id": 5433, - "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": 5447, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5435, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "8195:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5437, - "indexExpression": { - "argumentTypes": null, - "id": 5436, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5374, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5438, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 4788, - "src": "8195:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$4770_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 5440, - "indexExpression": { - "argumentTypes": null, - "id": 5439, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5376, - "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_$4770_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 5441, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "disputes", - "nodeType": "MemberAccess", - "referencedDeclaration": 4761, - "src": "8195:50:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5445, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5429, - "src": "8267:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5442, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5393, - "src": "8248:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal storage pointer" - } - }, - "id": 5443, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "disputes", - "nodeType": "MemberAccess", - "referencedDeclaration": 4761, - "src": "8248:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5444, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7559, - "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": 5446, - "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": 5448, - "nodeType": "ExpressionStatement", - "src": "8195:83:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5460, - "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": 5449, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "8288:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5451, - "indexExpression": { - "argumentTypes": null, - "id": 5450, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5374, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5452, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 4788, - "src": "8288:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$4770_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 5454, - "indexExpression": { - "argumentTypes": null, - "id": 5453, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5376, - "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_$4770_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 5455, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "disputesForMergeByAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 4757, - "src": "8288:67:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5458, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5456, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8356:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5457, - "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": 5459, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5429, - "src": "8370:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8288:92:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5461, - "nodeType": "ExpressionStatement", - "src": "8288:92:8" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5463, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5374, - "src": "8417:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5464, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5376, - "src": "8427:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5465, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5429, - "src": "8437:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5466, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8449:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5467, - "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": 5462, - "name": "DisputeMerge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4841, - "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": 5468, - "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": 5469, - "nodeType": "EmitStatement", - "src": "8399:61:8" - } - ] - }, - "documentation": null, - "functionSelector": "f87be2d4", - "id": 5471, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "disputeMerge", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5377, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5374, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5471, - "src": "7664:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5373, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7664:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5376, - "name": "_mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5471, - "src": "7682:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5375, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7682:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7663:36:8" - }, - "returnParameters": { - "id": 5378, - "nodeType": "ParameterList", - "parameters": [], - "src": "7707:0:8" - }, - "scope": 6434, - "src": "7642:825:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5490, - "nodeType": "Block", - "src": "8539:140:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5483, - "name": "timeOpenForIssueApprove", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4716, - "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": 5478, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "8595:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5480, - "indexExpression": { - "argumentTypes": null, - "id": 5479, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5473, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5481, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "creationDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 4774, - "src": "8595:29:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5482, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7559, - "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": 5484, - "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": 5485, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "8656:5:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 5486, - "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": 5488, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8594:78:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 5477, - "id": 5489, - "nodeType": "Return", - "src": "8587:85:8" - } - ] - }, - "documentation": null, - "functionSelector": "96983822", - "id": 5491, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isIssueApprovable", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5474, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5473, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5491, - "src": "8500:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5472, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8500:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8499:18:8" - }, - "returnParameters": { - "id": 5477, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5476, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5491, - "src": "8534:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5475, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8534:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8533:6:8" - }, - "scope": 6434, - "src": "8473:206:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5512, - "nodeType": "Block", - "src": "8750:119:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5509, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5498, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "8768:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5500, - "indexExpression": { - "argumentTypes": null, - "id": 5499, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5493, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5501, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForApprove", - "nodeType": "MemberAccess", - "referencedDeclaration": 4784, - "src": "8768:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "313030", - "id": 5507, - "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": 5504, - "name": "percentageNeededForApprove", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4710, - "src": "8825:26:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5502, - "name": "beproVotesStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4722, - "src": "8804:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5503, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7613, - "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": 5505, - "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": 5506, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7634, - "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": 5508, - "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": 5510, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8767:95:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 5497, - "id": 5511, - "nodeType": "Return", - "src": "8760:102:8" - } - ] - }, - "documentation": null, - "functionSelector": "3d734948", - "id": 5513, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isIssueApproved", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5494, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5493, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5513, - "src": "8710:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5492, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8710:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8709:18:8" - }, - "returnParameters": { - "id": 5497, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5496, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5513, - "src": "8744:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5495, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8744:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8743:6:8" - }, - "scope": 6434, - "src": "8685:184:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5539, - "nodeType": "Block", - "src": "8958:137:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5536, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5522, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "8976:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5524, - "indexExpression": { - "argumentTypes": null, - "id": 5523, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5515, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5525, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 4788, - "src": "8976:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$4770_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 5527, - "indexExpression": { - "argumentTypes": null, - "id": 5526, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5517, - "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_$4770_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 5528, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "disputes", - "nodeType": "MemberAccess", - "referencedDeclaration": 4761, - "src": "8976:50:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "313030", - "id": 5534, - "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": 5531, - "name": "percentageNeededForDispute", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4713, - "src": "9051:26:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5529, - "name": "beproVotesStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4722, - "src": "9030:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5530, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7613, - "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": 5532, - "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": 5533, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7634, - "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": 5535, - "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": 5537, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8975:113:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 5521, - "id": 5538, - "nodeType": "Return", - "src": "8968:120:8" - } - ] - }, - "documentation": null, - "functionSelector": "f29b4250", - "id": 5540, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isMergeDisputed", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5518, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5515, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5540, - "src": "8900:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5514, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8900:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5517, - "name": "_mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5540, - "src": "8918:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5516, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8918:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8899:36:8" - }, - "returnParameters": { - "id": 5521, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5520, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5540, - "src": "8952:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5519, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8952:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8951:6:8" - }, - "scope": 6434, - "src": "8875:220:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5566, - "nodeType": "Block", - "src": "9184:132:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5549, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "9202:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5551, - "indexExpression": { - "argumentTypes": null, - "id": 5550, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5542, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5552, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 4788, - "src": "9202:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$4770_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 5554, - "indexExpression": { - "argumentTypes": null, - "id": 5553, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5544, - "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_$4770_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 5555, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 4759, - "src": "9202:47:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "313030", - "id": 5561, - "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": 5558, - "name": "percentageNeededForMerge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4719, - "src": "9274:24:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5556, - "name": "beproVotesStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4722, - "src": "9253:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5557, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7613, - "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": 5559, - "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": 5560, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7634, - "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": 5562, - "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": 5564, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "9201:108:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 5548, - "id": 5565, - "nodeType": "Return", - "src": "9194:115:8" - } - ] - }, - "documentation": null, - "functionSelector": "ce13eae6", - "id": 5567, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isMergeApproved", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5545, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5542, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5567, - "src": "9126:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5541, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9126:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5544, - "name": "_mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5567, - "src": "9144:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5543, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9144:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9125:36:8" - }, - "returnParameters": { - "id": 5548, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5547, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5567, - "src": "9178:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5546, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "9178:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9177:6:8" - }, - "scope": 6434, - "src": "9101:215:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5616, - "nodeType": "Block", - "src": "9420:309:8", - "statements": [ - { - "assignments": [ - 5577 - ], - "declarations": [ - { - "constant": false, - "id": 5577, - "name": "thisMergeVotes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5616, - "src": "9430:22:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5576, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9430:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5585, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5578, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "9455:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5580, - "indexExpression": { - "argumentTypes": null, - "id": 5579, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5569, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5581, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 4788, - "src": "9455:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$4770_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 5583, - "indexExpression": { - "argumentTypes": null, - "id": 5582, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5571, - "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_$4770_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 5584, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 4759, - "src": "9455:47:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9430:72:8" - }, - { - "body": { - "id": 5612, - "nodeType": "Block", - "src": "9572:130:8", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5607, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5599, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "9589:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5601, - "indexExpression": { - "argumentTypes": null, - "id": 5600, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5569, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5602, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 4788, - "src": "9589:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$4770_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 5604, - "indexExpression": { - "argumentTypes": null, - "id": 5603, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5587, - "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_$4770_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 5605, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 4759, - "src": "9589:40:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 5606, - "name": "thisMergeVotes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5577, - "src": "9632:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9589:57:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5611, - "nodeType": "IfStatement", - "src": "9586:106:8", - "trueBody": { - "id": 5610, - "nodeType": "Block", - "src": "9647:45:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 5608, - "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": 5575, - "id": 5609, - "nodeType": "Return", - "src": "9665:12:8" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5595, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5590, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5587, - "src": "9529:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5591, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "9533:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5593, - "indexExpression": { - "argumentTypes": null, - "id": 5592, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5569, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5594, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 4790, - "src": "9533:33:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9529:37:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5613, - "initializationExpression": { - "assignments": [ - 5587 - ], - "declarations": [ - { - "constant": false, - "id": 5587, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5613, - "src": "9516:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5586, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "9516:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5589, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 5588, - "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": 5597, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "9568:3:8", - "subExpression": { - "argumentTypes": null, - "id": 5596, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5587, - "src": "9568:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 5598, - "nodeType": "ExpressionStatement", - "src": "9568:3:8" - }, - "nodeType": "ForStatement", - "src": "9512:190:8" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5614, - "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": 5575, - "id": 5615, - "nodeType": "Return", - "src": "9711:11:8" - } - ] - }, - "documentation": null, - "functionSelector": "839408a5", - "id": 5617, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isMergeTheOneWithMoreVotes", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5572, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5569, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "9362:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5568, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9362:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5571, - "name": "_mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "9380:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5570, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9380:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9361:36:8" - }, - "returnParameters": { - "id": 5575, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5574, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "9414:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5573, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "9414:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9413:6:8" - }, - "scope": 6434, - "src": "9326:403:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5707, - "nodeType": "Block", - "src": "9872:649:8", - "statements": [ - { - "assignments": [ - 5625 - ], - "declarations": [ - { - "constant": false, - "id": 5625, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5707, - "src": "9904:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue" - }, - "typeName": { - "contractScope": null, - "id": 5624, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4795, - "src": "9904:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_storage_ptr", - "typeString": "struct BEPRONetwork.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5626, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "9904:18:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5631, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5627, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5625, - "src": "9932:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5629, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 4772, - "src": "9932:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5630, - "name": "incrementIssueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4692, - "src": "9944:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9932:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5632, - "nodeType": "ExpressionStatement", - "src": "9932:28:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5637, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5633, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5625, - "src": "9970:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5635, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4776, - "src": "9970:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5636, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5619, - "src": "9990:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9970:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5638, - "nodeType": "ExpressionStatement", - "src": "9970:32:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5644, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5639, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5625, - "src": "10012:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5641, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "issueGenerator", - "nodeType": "MemberAccess", - "referencedDeclaration": 4778, - "src": "10012:20:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5642, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10035: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": "10035:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "10012:33:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5645, - "nodeType": "ExpressionStatement", - "src": "10012:33:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5651, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5646, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5625, - "src": "10055:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5648, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "creationDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 4774, - "src": "10055:18:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5649, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "10076:5:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 5650, - "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": 5652, - "nodeType": "ExpressionStatement", - "src": "10055:36:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5653, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5625, - "src": "10101:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5655, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 4792, - "src": "10101:15:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 5656, - "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": 5658, - "nodeType": "ExpressionStatement", - "src": "10101:23:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5659, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "10134:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5661, - "indexExpression": { - "argumentTypes": null, - "id": 5660, - "name": "incrementIssueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4692, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5662, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5625, - "src": "10161:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "src": "10134:32:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5664, - "nodeType": "ExpressionStatement", - "src": "10134:32:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5670, - "name": "incrementIssueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4692, - "src": "10202:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5665, - "name": "myIssues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4740, - "src": "10176:8:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 5668, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5666, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10185:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5667, - "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": 5669, - "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": 5671, - "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": 5672, - "nodeType": "ExpressionStatement", - "src": "10176:43:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5676, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10284:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5677, - "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": 5680, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "10304:4:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BEPRONetwork_$6434", - "typeString": "contract BEPRONetwork" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_BEPRONetwork_$6434", - "typeString": "contract BEPRONetwork" - } - ], - "id": 5679, - "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": 5678, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10296:7:8", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5681, - "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": 5682, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5619, - "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": 5674, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4686, - "src": "10260:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "id": 5675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 8261, - "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": 5683, - "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": 5684, - "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": 5673, - "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": 5685, - "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": 5686, - "nodeType": "ExpressionStatement", - "src": "10252:92:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5692, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5687, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4698, - "src": "10354:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5690, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5619, - "src": "10384:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5688, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4698, - "src": "10368:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5689, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7559, - "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": 5691, - "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": 5693, - "nodeType": "ExpressionStatement", - "src": "10354:43:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5698, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5694, - "name": "incrementIssueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4692, - "src": "10407:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5697, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5695, - "name": "incrementIssueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4692, - "src": "10426:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5696, - "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": 5699, - "nodeType": "ExpressionStatement", - "src": "10407:39:8" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5701, - "name": "incrementIssueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4692, - "src": "10471:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5702, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10489:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5703, - "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": 5704, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5619, - "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": 5700, - "name": "OpenIssue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4815, - "src": "10461:9:8", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (uint256,address,uint256)" - } - }, - "id": 5705, - "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": 5706, - "nodeType": "EmitStatement", - "src": "10456:58:8" - } - ] - }, - "documentation": "@dev open an Issue with bepro owned\n1st step", - "functionSelector": "b2bb95f5", - "id": 5708, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 5622, - "modifierName": { - "argumentTypes": null, - "id": 5621, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10724, - "src": "9858:13:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "9858:13:8" - } - ], - "name": "openIssue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5620, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5619, - "name": "_beproAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5708, - "src": "9829:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5618, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9829:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9828:22:8" - }, - "returnParameters": { - "id": 5623, - "nodeType": "ParameterList", - "parameters": [], - "src": "9872:0:8" - }, - "scope": 6434, - "src": "9810:711:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5769, - "nodeType": "Block", - "src": "10587:464:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5722, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5716, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "10605:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5718, - "indexExpression": { - "argumentTypes": null, - "id": 5717, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5710, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5719, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "issueGenerator", - "nodeType": "MemberAccess", - "referencedDeclaration": 4778, - "src": "10605:31:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5720, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10640:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5721, - "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": 5723, - "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": 5715, - "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": 5724, - "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": 5725, - "nodeType": "ExpressionStatement", - "src": "10597:85:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5730, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "10700:26:8", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5728, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5710, - "src": "10717:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5727, - "name": "isIssueApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5513, - "src": "10701:15:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 5729, - "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": 5731, - "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": 5726, - "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": 5732, - "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": 5733, - "nodeType": "ExpressionStatement", - "src": "10692:67:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5738, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "10777:28:8", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5736, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5710, - "src": "10796:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5735, - "name": "isIssueApprovable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5491, - "src": "10778:17:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 5737, - "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": 5739, - "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": 5734, - "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": 5740, - "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": 5741, - "nodeType": "ExpressionStatement", - "src": "10769:84:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5747, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5742, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "10863:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5744, - "indexExpression": { - "argumentTypes": null, - "id": 5743, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5710, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5745, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 4792, - "src": "10863:26:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5746, - "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": 5748, - "nodeType": "ExpressionStatement", - "src": "10863:33:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5754, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5749, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "10906:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5751, - "indexExpression": { - "argumentTypes": null, - "id": 5750, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5710, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5752, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "canceled", - "nodeType": "MemberAccess", - "referencedDeclaration": 4794, - "src": "10906:25:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5753, - "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": 5755, - "nodeType": "ExpressionStatement", - "src": "10906:32:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5759, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10976:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5760, - "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": 5761, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "10988:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5763, - "indexExpression": { - "argumentTypes": null, - "id": 5762, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5710, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5764, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4776, - "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": 5757, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4686, - "src": "10956:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "id": 5758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 8232, - "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": 5765, - "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": 5766, - "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": 5756, - "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": 5767, - "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": 5768, - "nodeType": "ExpressionStatement", - "src": "10948:96:8" - } - ] - }, - "documentation": null, - "functionSelector": "202996fb", - "id": 5770, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 5713, - "modifierName": { - "argumentTypes": null, - "id": 5712, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10724, - "src": "10573:13:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "10573:13:8" - } - ], - "name": "redeemIssue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5711, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5710, - "name": "_issueId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5770, - "src": "10548:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5709, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10548:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10547:18:8" - }, - "returnParameters": { - "id": 5714, - "nodeType": "ParameterList", - "parameters": [], - "src": "10587:0:8" - }, - "scope": 6434, - "src": "10527:524:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5878, - "nodeType": "Block", - "src": "11233:894:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5785, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5780, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "11251:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5782, - "indexExpression": { - "argumentTypes": null, - "id": 5781, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5772, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5783, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4776, - "src": "11251:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5784, - "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": 5786, - "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": 5779, - "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": 5787, - "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": 5788, - "nodeType": "ExpressionStatement", - "src": "11243:64:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5796, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5790, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "11325:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5792, - "indexExpression": { - "argumentTypes": null, - "id": 5791, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5772, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5793, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "issueGenerator", - "nodeType": "MemberAccess", - "referencedDeclaration": 4778, - "src": "11325:31:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5794, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11360:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5795, - "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": 5797, - "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": 5789, - "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": 5798, - "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": 5799, - "nodeType": "ExpressionStatement", - "src": "11317:85:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "11420:26:8", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5802, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5772, - "src": "11437:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5801, - "name": "isIssueApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5513, - "src": "11421:15:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 5803, - "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": 5805, - "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": 5800, - "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": 5806, - "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": 5807, - "nodeType": "ExpressionStatement", - "src": "11412:64:8" - }, - { - "assignments": [ - 5809 - ], - "declarations": [ - { - "constant": false, - "id": 5809, - "name": "previousAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5878, - "src": "11487:22:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5808, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11487:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5814, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5810, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "11512:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5812, - "indexExpression": { - "argumentTypes": null, - "id": 5811, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5772, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5813, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4776, - "src": "11512:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11487:53:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5820, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5815, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "11574:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5817, - "indexExpression": { - "argumentTypes": null, - "id": 5816, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5772, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5818, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4776, - "src": "11574:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5819, - "name": "_newbeproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5774, - "src": "11605:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11574:46:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5821, - "nodeType": "ExpressionStatement", - "src": "11574:46:8" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5824, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5822, - "name": "_newbeproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5774, - "src": "11656:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 5823, - "name": "previousAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5809, - "src": "11674:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11656:32:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 5876, - "nodeType": "Block", - "src": "11913:208:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5856, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11955:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5857, - "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": 5860, - "name": "_newbeproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5774, - "src": "11986:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5858, - "name": "previousAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5809, - "src": "11967:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5859, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7580, - "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": 5861, - "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": 5854, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4686, - "src": "11935:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "id": 5855, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 8232, - "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": 5862, - "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": 5863, - "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": 5853, - "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": 5864, - "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": 5865, - "nodeType": "ExpressionStatement", - "src": "11927:103:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5874, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5866, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4698, - "src": "12044:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5871, - "name": "_newbeproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5774, - "src": "12093:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5869, - "name": "previousAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5809, - "src": "12074:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5870, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7580, - "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": 5872, - "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": 5867, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4698, - "src": "12058:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5868, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7580, - "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": 5873, - "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": 5875, - "nodeType": "ExpressionStatement", - "src": "12044:66:8" - } - ] - }, - "id": 5877, - "nodeType": "IfStatement", - "src": "11653:468:8", - "trueBody": { - "id": 5852, - "nodeType": "Block", - "src": "11689:220:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5828, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11735:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5829, - "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": 5832, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "11755:4:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BEPRONetwork_$6434", - "typeString": "contract BEPRONetwork" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_BEPRONetwork_$6434", - "typeString": "contract BEPRONetwork" - } - ], - "id": 5831, - "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": 5830, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11747:7:8", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5833, - "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": 5836, - "name": "previousAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5809, - "src": "11782:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5834, - "name": "_newbeproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5774, - "src": "11762:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5835, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7580, - "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": 5837, - "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": 5826, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4686, - "src": "11711:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "id": 5827, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 8261, - "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": 5838, - "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": 5839, - "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": 5825, - "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": 5840, - "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": 5841, - "nodeType": "ExpressionStatement", - "src": "11703:115:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5850, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5842, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4698, - "src": "11832:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5847, - "name": "previousAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5809, - "src": "11882:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5845, - "name": "_newbeproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5774, - "src": "11862:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5846, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7580, - "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": 5848, - "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": 5843, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4698, - "src": "11846:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5844, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7559, - "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": 5849, - "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": 5851, - "nodeType": "ExpressionStatement", - "src": "11832:66:8" - } - ] - } - } - ] - }, - "documentation": "@dev update an Issue with bepro owned\n2nd step (optional)", - "functionSelector": "05563309", - "id": 5879, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 5777, - "modifierName": { - "argumentTypes": null, - "id": 5776, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10724, - "src": "11219:13:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "11219:13:8" - } - ], - "name": "updateIssue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5775, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5772, - "name": "_issueId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5879, - "src": "11169:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5771, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11169:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5774, - "name": "_newbeproAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5879, - "src": "11187:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5773, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11187:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11168:43:8" - }, - "returnParameters": { - "id": 5778, - "nodeType": "ParameterList", - "parameters": [], - "src": "11233:0:8" - }, - "scope": 6434, - "src": "11148:979:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6071, - "nodeType": "Block", - "src": "12483:1486:8", - "statements": [ - { - "assignments": [ - 5893 - ], - "declarations": [ - { - "constant": false, - "id": 5893, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6071, - "src": "12502:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue" - }, - "typeName": { - "contractScope": null, - "id": 5892, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4795, - "src": "12502:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_storage_ptr", - "typeString": "struct BEPRONetwork.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5897, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5894, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "12523:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5896, - "indexExpression": { - "argumentTypes": null, - "id": 5895, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5881, - "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_$4795_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": 5902, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5899, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5893, - "src": "12557:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5900, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 4772, - "src": "12557:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5901, - "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": 5903, - "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": 5898, - "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": 5904, - "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": 5905, - "nodeType": "ExpressionStatement", - "src": "12549:46:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5910, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5907, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5893, - "src": "12613:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5908, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 4792, - "src": "12613:15:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 5909, - "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": 5911, - "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": 5906, - "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": 5912, - "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": 5913, - "nodeType": "ExpressionStatement", - "src": "12605:59:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5919, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5915, - "name": "_prAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5887, - "src": "12682:10:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 5916, - "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": 5917, - "name": "_prAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5884, - "src": "12703:12:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 5918, - "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": 5920, - "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": 5914, - "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": 5921, - "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": 5922, - "nodeType": "ExpressionStatement", - "src": "12674:90:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5934, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5926, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "12803:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5927, - "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": 5924, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4686, - "src": "12782:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "id": 5925, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 8223, - "src": "12782:20:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 5928, - "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": 5933, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5929, - "name": "COUNCIL_BEPRO_AMOUNT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4725, - "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": 5932, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 5930, - "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": 5931, - "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": 5935, - "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": 5923, - "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": 5936, - "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": 5937, - "nodeType": "ExpressionStatement", - "src": "12774:148:8" - }, - { - "assignments": [ - 5939 - ], - "declarations": [ - { - "constant": false, - "id": 5939, - "name": "mergeProposal", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6071, - "src": "12933:34:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - }, - "typeName": { - "contractScope": null, - "id": 5938, - "name": "MergeProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4770, - "src": "12933:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5940, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "12933:34:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5946, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5941, - "name": "mergeProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5939, - "src": "12977:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 5943, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 4749, - "src": "12977:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5944, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5893, - "src": "12997:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5945, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 4790, - "src": "12997:22:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12977:42:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5947, - "nodeType": "ExpressionStatement", - "src": "12977:42:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5952, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5948, - "name": "mergeProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5939, - "src": "13029:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 5950, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "prAmounts", - "nodeType": "MemberAccess", - "referencedDeclaration": 4767, - "src": "13029:23:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5951, - "name": "_prAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5887, - "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": 5953, - "nodeType": "ExpressionStatement", - "src": "13029:36:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5958, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5954, - "name": "mergeProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5939, - "src": "13075:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 5956, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "prAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 4764, - "src": "13075:25:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5957, - "name": "_prAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5884, - "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": 5959, - "nodeType": "ExpressionStatement", - "src": "13075:40:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5965, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5960, - "name": "mergeProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5939, - "src": "13125:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 5962, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "proposalAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 4769, - "src": "13125:29:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5963, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13157:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5964, - "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": 5966, - "nodeType": "ExpressionStatement", - "src": "13125:42:8" - }, - { - "assignments": [ - 5968 - ], - "declarations": [ - { - "constant": false, - "id": 5968, - "name": "total", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6071, - "src": "13178:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5967, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13178:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5982, - "initialValue": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5980, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5977, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5969, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "13196:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5971, - "indexExpression": { - "argumentTypes": null, - "id": 5970, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5881, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5972, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4776, - "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": 5975, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5973, - "name": "feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4704, - "src": "13228:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 5974, - "name": "mergeCreatorFeeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4707, - "src": "13239:20:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13228:31:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5976, - "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": 5978, - "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": 5979, - "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": 5981, - "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": 6029, - "nodeType": "Block", - "src": "13355:289:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6006, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5997, - "name": "_prAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5884, - "src": "13398:12:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 5999, - "indexExpression": { - "argumentTypes": null, - "id": 5998, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5984, - "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": 5995, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4686, - "src": "13377:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "id": 5996, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 8223, - "src": "13377:20:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6000, - "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": 6005, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6001, - "name": "DEVELOPER_BEPRO_AMOUNT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4731, - "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": 6004, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 6002, - "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": 6003, - "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": 6007, - "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": 5994, - "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": 6008, - "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": 6009, - "nodeType": "ExpressionStatement", - "src": "13369:172:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6027, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6010, - "name": "total", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5968, - "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": 6025, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6022, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6013, - "name": "_prAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5887, - "src": "13574:10:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 6015, - "indexExpression": { - "argumentTypes": null, - "id": 6014, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5984, - "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": 6020, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6018, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 6016, - "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": 6017, - "name": "feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4704, - "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": 6019, - "name": "mergeCreatorFeeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4707, - "src": "13604:20:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13591:33:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6021, - "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": 6023, - "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": 6024, - "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": 6011, - "name": "total", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5968, - "src": "13563:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6012, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7559, - "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": 6026, - "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": 6028, - "nodeType": "ExpressionStatement", - "src": "13555:78:8" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5987, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5984, - "src": "13326:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5988, - "name": "_prAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5884, - "src": "13330:12:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 5989, - "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": 6030, - "initializationExpression": { - "assignments": [ - 5984 - ], - "declarations": [ - { - "constant": false, - "id": 5984, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6030, - "src": "13314:6:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5983, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "13314:4:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5986, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 5985, - "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": 5992, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "13351:3:8", - "subExpression": { - "argumentTypes": null, - "id": 5991, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5984, - "src": "13351:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5993, - "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": 6037, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6032, - "name": "total", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5968, - "src": "13662:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6033, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "13671:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6035, - "indexExpression": { - "argumentTypes": null, - "id": 6034, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5881, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6036, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4776, - "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": 6038, - "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": 6031, - "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": 6039, - "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": 6040, - "nodeType": "ExpressionStatement", - "src": "13654:67:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6049, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6041, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "13732:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6043, - "indexExpression": { - "argumentTypes": null, - "id": 6042, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5881, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6044, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 4788, - "src": "13732:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$4770_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 6047, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6045, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5893, - "src": "13764:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6046, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 4790, - "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_$4770_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6048, - "name": "mergeProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5939, - "src": "13790:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "src": "13732:71:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 6050, - "nodeType": "ExpressionStatement", - "src": "13732:71:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6061, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6051, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "13813:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6053, - "indexExpression": { - "argumentTypes": null, - "id": 6052, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5881, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6054, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 4790, - "src": "13813:33:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6060, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6055, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "13849:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6057, - "indexExpression": { - "argumentTypes": null, - "id": 6056, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5881, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6058, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 4790, - "src": "13849:33:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 6059, - "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": 6062, - "nodeType": "ExpressionStatement", - "src": "13813:73:8" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6064, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5881, - "src": "13922:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6065, - "name": "mergeProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5939, - "src": "13932:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6066, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 4749, - "src": "13932:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6067, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13951:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6068, - "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": 6063, - "name": "MergeProposalCreated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4831, - "src": "13901:20:8", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,uint256,address)" - } - }, - "id": 6069, - "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": 6070, - "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": 6072, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 5890, - "modifierName": { - "argumentTypes": null, - "id": 5889, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10724, - "src": "12469:13:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "12469:13:8" - } - ], - "name": "proposeIssueMerge", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5888, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5881, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6072, - "src": "12384:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5880, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12384:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5884, - "name": "_prAddresses", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6072, - "src": "12402:29:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 5882, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12402:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5883, - "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": 5887, - "name": "_prAmounts", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6072, - "src": "12433:27:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 5885, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12433:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5886, - "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": 5891, - "nodeType": "ParameterList", - "parameters": [], - "src": "12483:0:8" - }, - "scope": 6434, - "src": "12357:1612:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6257, - "nodeType": "Block", - "src": "14239:1502:8", - "statements": [ - { - "assignments": [ - 6082 - ], - "declarations": [ - { - "constant": false, - "id": 6082, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6257, - "src": "14249:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue" - }, - "typeName": { - "contractScope": null, - "id": 6081, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4795, - "src": "14249:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_storage_ptr", - "typeString": "struct BEPRONetwork.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6086, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6083, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "14270:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6085, - "indexExpression": { - "argumentTypes": null, - "id": 6084, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6074, - "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_$4795_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": 6091, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6088, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6082, - "src": "14304:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6089, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 4772, - "src": "14304:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6090, - "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": 6092, - "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": 6087, - "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": 6093, - "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": 6094, - "nodeType": "ExpressionStatement", - "src": "14296:46:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6099, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6096, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6082, - "src": "14360:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6097, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 4792, - "src": "14360:15:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 6098, - "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": 6100, - "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": 6095, - "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": 6101, - "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": 6102, - "nodeType": "ExpressionStatement", - "src": "14352:59:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6107, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6104, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6082, - "src": "14429:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6105, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 4790, - "src": "14429:22:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 6106, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6076, - "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": 6108, - "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": 6103, - "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": 6109, - "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": 6110, - "nodeType": "ExpressionStatement", - "src": "14421:76:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6113, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6074, - "src": "14531:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6114, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6076, - "src": "14541:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6112, - "name": "isMergeApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5567, - "src": "14515:15:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256,uint256) returns (bool)" - } - }, - "id": 6115, - "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": 6116, - "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": 6111, - "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": 6117, - "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": 6118, - "nodeType": "ExpressionStatement", - "src": "14507:79:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6124, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "14604:36:8", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6121, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6074, - "src": "14621:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6122, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6076, - "src": "14631:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6120, - "name": "isMergeDisputed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5540, - "src": "14605:15:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256,uint256) returns (bool)" - } - }, - "id": 6123, - "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": 6125, - "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": 6119, - "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": 6126, - "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": 6127, - "nodeType": "ExpressionStatement", - "src": "14596:72:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6130, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6074, - "src": "14713:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6131, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6076, - "src": "14723:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6129, - "name": "isMergeTheOneWithMoreVotes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5617, - "src": "14686:26:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256,uint256) returns (bool)" - } - }, - "id": 6132, - "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": 6133, - "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": 6128, - "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": 6134, - "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": 6135, - "nodeType": "ExpressionStatement", - "src": "14678:100:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6141, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6136, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "14817:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6138, - "indexExpression": { - "argumentTypes": null, - "id": 6137, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6074, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6139, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 4792, - "src": "14817:26:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 6140, - "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": 6142, - "nodeType": "ExpressionStatement", - "src": "14817:33:8" - }, - { - "assignments": [ - 6144 - ], - "declarations": [ - { - "constant": false, - "id": 6144, - "name": "merge", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6257, - "src": "14860:26:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - }, - "typeName": { - "contractScope": null, - "id": 6143, - "name": "MergeProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4770, - "src": "14860:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6151, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6145, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "14889:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6147, - "indexExpression": { - "argumentTypes": null, - "id": 6146, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6074, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6148, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 4788, - "src": "14889:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$4770_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 6150, - "indexExpression": { - "argumentTypes": null, - "id": 6149, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6076, - "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_$4770_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14860:70:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6155, - "name": "feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4701, - "src": "14993:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6156, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "15006:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6158, - "indexExpression": { - "argumentTypes": null, - "id": 6157, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6074, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6159, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4776, - "src": "15006:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 6160, - "name": "feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4704, - "src": "15037:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15006:39:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6162, - "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": 6163, - "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": 6153, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4686, - "src": "14973:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "id": 6154, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 8232, - "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": 6165, - "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": 6166, - "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": 6152, - "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": 6167, - "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": 6168, - "nodeType": "ExpressionStatement", - "src": "14965:108:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6172, - "name": "feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4701, - "src": "15146:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6181, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6178, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6173, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "15159:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6175, - "indexExpression": { - "argumentTypes": null, - "id": 6174, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6074, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6176, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4776, - "src": "15159:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 6177, - "name": "mergeCreatorFeeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4707, - "src": "15190:20:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15159:51:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6179, - "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": 6180, - "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": 6170, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4686, - "src": "15126:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "id": 6171, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 8232, - "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": 6182, - "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": 6183, - "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": 6169, - "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": 6184, - "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": 6185, - "nodeType": "ExpressionStatement", - "src": "15118:120:8" - }, - { - "body": { - "id": 6233, - "nodeType": "Block", - "src": "15345:219:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6205, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6074, - "src": "15395:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6198, - "name": "myIssues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4740, - "src": "15359:8:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 6203, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6199, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6144, - "src": "15368:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6200, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 4764, - "src": "15368:17:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "id": 6202, - "indexExpression": { - "argumentTypes": null, - "id": 6201, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6187, - "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": 6204, - "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": 6206, - "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": 6207, - "nodeType": "ExpressionStatement", - "src": "15359:45:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6211, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6144, - "src": "15446:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6212, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 4764, - "src": "15446:17:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "id": 6214, - "indexExpression": { - "argumentTypes": null, - "id": 6213, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6187, - "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": 6228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6225, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6215, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6144, - "src": "15469:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6216, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAmounts", - "nodeType": "MemberAccess", - "referencedDeclaration": 4767, - "src": "15469:15:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "id": 6218, - "indexExpression": { - "argumentTypes": null, - "id": 6217, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6187, - "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": 6223, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6221, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 6219, - "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": 6220, - "name": "feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4704, - "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": 6222, - "name": "mergeCreatorFeeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4707, - "src": "15504:20:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15491:33:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6224, - "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": 6226, - "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": 6227, - "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": 6209, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4686, - "src": "15426:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "id": 6210, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 8232, - "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": 6229, - "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": 6230, - "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": 6208, - "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": 6231, - "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": 6232, - "nodeType": "ExpressionStatement", - "src": "15418:135:8" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6194, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6190, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6187, - "src": "15311:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6191, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6144, - "src": "15315:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6192, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 4764, - "src": "15315:17:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "id": 6193, - "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": 6234, - "initializationExpression": { - "assignments": [ - 6187 - ], - "declarations": [ - { - "constant": false, - "id": 6187, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6234, - "src": "15299:6:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6186, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "15299:4:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6189, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 6188, - "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": 6196, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "15341:3:8", - "subExpression": { - "argumentTypes": null, - "id": 6195, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6187, - "src": "15341:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6197, - "nodeType": "ExpressionStatement", - "src": "15341:3:8" - }, - "nodeType": "ForStatement", - "src": "15295:269:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6235, - "name": "closedIdsCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4695, - "src": "15574:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 6238, - "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": 6236, - "name": "closedIdsCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4695, - "src": "15591:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6237, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7559, - "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": 6239, - "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": 6241, - "nodeType": "ExpressionStatement", - "src": "15574:38:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6242, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4698, - "src": "15622:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6245, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6082, - "src": "15652:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6246, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4776, - "src": "15652:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6243, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4698, - "src": "15636:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6244, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7580, - "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": 6247, - "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": 6249, - "nodeType": "ExpressionStatement", - "src": "15622:48:8" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6251, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6074, - "src": "15696:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6252, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6076, - "src": "15706:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6253, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6144, - "src": "15716:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6254, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 4764, - "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": 6250, - "name": "CloseIssue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4860, - "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": 6255, - "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": 6256, - "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": 6258, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6079, - "modifierName": { - "argumentTypes": null, - "id": 6078, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10724, - "src": "14225:13:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "14225:13:8" - } - ], - "name": "closeIssue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6077, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6074, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6258, - "src": "14182:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6073, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14182:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6076, - "name": "_mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6258, - "src": "14200:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6075, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14200:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14181:36:8" - }, - "returnParameters": { - "id": 6080, - "nodeType": "ParameterList", - "parameters": [], - "src": "14239:0:8" - }, - "scope": 6434, - "src": "14162:1579:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6270, - "nodeType": "Block", - "src": "15826:42:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6266, - "name": "myIssues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4740, - "src": "15843:8:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 6268, - "indexExpression": { - "argumentTypes": null, - "id": 6267, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6260, - "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": 6265, - "id": 6269, - "nodeType": "Return", - "src": "15836:25:8" - } - ] - }, - "documentation": null, - "functionSelector": "5d795bd2", - "id": 6271, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getIssuesByAddress", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6261, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6260, - "name": "_address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6271, - "src": "15775:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6259, - "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": 6265, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6264, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6271, - "src": "15809:16:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 6262, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15809:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6263, - "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": 6434, - "src": "15747:121:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6293, - "nodeType": "Block", - "src": "15943:136:8", - "statements": [ - { - "assignments": [ - 6279 - ], - "declarations": [ - { - "constant": false, - "id": 6279, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6293, - "src": "15953:19:8", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - }, - "typeName": { - "contractScope": null, - "id": 6278, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4807, - "src": "15953:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6283, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6280, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "15975:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 6282, - "indexExpression": { - "argumentTypes": null, - "id": 6281, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6273, - "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_$4807_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": 6287, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6279, - "src": "16041:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 6288, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 4801, - "src": "16041:20:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 6290, - "indexExpression": { - "argumentTypes": null, - "id": 6289, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6273, - "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": 6284, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6279, - "src": "16008:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 6285, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegatedByOthers", - "nodeType": "MemberAccess", - "referencedDeclaration": 4797, - "src": "16008:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7559, - "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": 6291, - "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": 6277, - "id": 6292, - "nodeType": "Return", - "src": "16001:71:8" - } - ] - }, - "documentation": null, - "functionSelector": "1e63c0a5", - "id": 6294, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getVotesByAddress", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6274, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6273, - "name": "_address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6294, - "src": "15901:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6272, - "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": 6277, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6276, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6294, - "src": "15935:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6275, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15935:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15934:9:8" - }, - "scope": 6434, - "src": "15874:205:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6339, - "nodeType": "Block", - "src": "16210:223:8", - "statements": [ - { - "assignments": [ - 6316 - ], - "declarations": [ - { - "constant": false, - "id": 6316, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6339, - "src": "16220:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue" - }, - "typeName": { - "contractScope": null, - "id": 6315, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4795, - "src": "16220:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_storage_ptr", - "typeString": "struct BEPRONetwork.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6320, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6317, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "16241:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6319, - "indexExpression": { - "argumentTypes": null, - "id": 6318, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6296, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16220:37:8" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6321, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6316, - "src": "16275:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6322, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 4772, - "src": "16275:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6323, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6316, - "src": "16286:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6324, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4776, - "src": "16286:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6325, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6316, - "src": "16305:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6326, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "creationDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 4774, - "src": "16305:18:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6327, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6316, - "src": "16325:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6328, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "issueGenerator", - "nodeType": "MemberAccess", - "referencedDeclaration": 4778, - "src": "16325:20:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6329, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6316, - "src": "16347:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6330, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForApprove", - "nodeType": "MemberAccess", - "referencedDeclaration": 4784, - "src": "16347:21:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6331, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6316, - "src": "16370:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6332, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 4790, - "src": "16370:22:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6333, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6316, - "src": "16394:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6334, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 4792, - "src": "16394:15:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6335, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6316, - "src": "16411:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6336, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "canceled", - "nodeType": "MemberAccess", - "referencedDeclaration": 4794, - "src": "16411:14:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 6337, - "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": 6314, - "id": 6338, - "nodeType": "Return", - "src": "16267:159:8" - } - ] - }, - "documentation": null, - "functionSelector": "c98244d0", - "id": 6340, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getIssueById", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6297, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6296, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6340, - "src": "16111:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6295, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16111:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16110:18:8" - }, - "returnParameters": { - "id": 6314, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6299, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6340, - "src": "16145:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6298, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16145:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6301, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6340, - "src": "16154:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6300, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16154:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6303, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6340, - "src": "16163:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6302, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16163:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6305, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6340, - "src": "16172:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6304, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16172:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6307, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6340, - "src": "16181:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6306, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16181:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6309, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6340, - "src": "16190:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6308, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16190:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6311, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6340, - "src": "16199:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6310, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "16199:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6313, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6340, - "src": "16205:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6312, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "16205:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16144:66:8" - }, - "scope": 6434, - "src": "16089:344:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6384, - "nodeType": "Block", - "src": "16584:203:8", - "statements": [ - { - "assignments": [ - 6362 - ], - "declarations": [ - { - "constant": false, - "id": 6362, - "name": "merge", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6384, - "src": "16594:26:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - }, - "typeName": { - "contractScope": null, - "id": 6361, - "name": "MergeProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4770, - "src": "16594:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6369, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6363, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "16623:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6365, - "indexExpression": { - "argumentTypes": null, - "id": 6364, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6342, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6366, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 4788, - "src": "16623:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$4770_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 6368, - "indexExpression": { - "argumentTypes": null, - "id": 6367, - "name": "_mergeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6344, - "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_$4770_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16594:70:8" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6370, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6362, - "src": "16682:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6371, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 4749, - "src": "16682:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6372, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6362, - "src": "16693:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6373, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 4759, - "src": "16693:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6374, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6362, - "src": "16706:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6375, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "disputes", - "nodeType": "MemberAccess", - "referencedDeclaration": 4761, - "src": "16706:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6376, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6362, - "src": "16722:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6377, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 4764, - "src": "16722:17:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6378, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6362, - "src": "16741:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6379, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAmounts", - "nodeType": "MemberAccess", - "referencedDeclaration": 4767, - "src": "16741:15:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6380, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6362, - "src": "16758:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6381, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "proposalAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 4769, - "src": "16758:21:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 6382, - "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": 6360, - "id": 6383, - "nodeType": "Return", - "src": "16674:106:8" - } - ] - }, - "documentation": null, - "functionSelector": "6106e4eb", - "id": 6385, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getMergeById", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6345, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6342, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6385, - "src": "16461:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6341, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16461:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6344, - "name": "_mergeId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6385, - "src": "16479:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6343, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16479:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16460:36:8" - }, - "returnParameters": { - "id": 6360, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6347, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6385, - "src": "16513:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6346, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16513:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6349, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6385, - "src": "16522:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6348, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16522:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6351, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6385, - "src": "16531:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6350, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16531:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6354, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6385, - "src": "16540:16:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 6352, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16540:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6353, - "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": 6357, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6385, - "src": "16558:16:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 6355, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16558:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6356, - "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": 6359, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6385, - "src": "16576:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6358, - "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": 6434, - "src": "16439:348:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6398, - "nodeType": "Block", - "src": "16924:50:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6392, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4686, - "src": "16934:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6394, - "name": "_newAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "16955:11:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6393, - "name": "_IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4677, - "src": "16947:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$__IERC20_$4677_$", - "typeString": "type(contract _IERC20)" - } - }, - "id": 6395, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16947:20:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "src": "16934:33:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "id": 6397, - "nodeType": "ExpressionStatement", - "src": "16934:33:8" - } - ] - }, - "documentation": "@dev Change BEPRO Token Address (Upgrade)", - "functionSelector": "5ac203cf", - "id": 6399, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6390, - "modifierName": { - "argumentTypes": null, - "id": 6389, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7294, - "src": "16914:9:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "16914:9:8" - } - ], - "name": "changeBEPROAddress", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6388, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6387, - "name": "_newAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6399, - "src": "16886:19:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6386, - "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": 6391, - "nodeType": "ParameterList", - "parameters": [], - "src": "16924:0:8" - }, - "scope": 6434, - "src": "16858:116:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6410, - "nodeType": "Block", - "src": "17088:41:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6408, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6406, - "name": "feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4701, - "src": "17098:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6407, - "name": "_newAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6401, - "src": "17111:11:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "17098:24:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6409, - "nodeType": "ExpressionStatement", - "src": "17098:24:8" - } - ] - }, - "documentation": "@dev Change Fee Address", - "functionSelector": "70c9c791", - "id": 6411, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6404, - "modifierName": { - "argumentTypes": null, - "id": 6403, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7294, - "src": "17078:9:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17078:9:8" - } - ], - "name": "editFeeAddress", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6402, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6401, - "name": "_newAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6411, - "src": "17050:19:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6400, - "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": 6405, - "nodeType": "ParameterList", - "parameters": [], - "src": "17088:0:8" - }, - "scope": 6434, - "src": "17026:103:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6422, - "nodeType": "Block", - "src": "17244:37:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6420, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6418, - "name": "feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4704, - "src": "17254:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6419, - "name": "_feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6413, - "src": "17265:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17254:20:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6421, - "nodeType": "ExpressionStatement", - "src": "17254:20:8" - } - ] - }, - "documentation": "@dev Change Share Fee Amount", - "functionSelector": "88632e28", - "id": 6423, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6416, - "modifierName": { - "argumentTypes": null, - "id": 6415, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7294, - "src": "17234:9:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17234:9:8" - } - ], - "name": "editFeeShare", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6414, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6413, - "name": "_feeShare", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6423, - "src": "17208:17:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6412, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17208:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17207:19:8" - }, - "returnParameters": { - "id": 6417, - "nodeType": "ParameterList", - "parameters": [], - "src": "17244:0:8" - }, - "scope": 6434, - "src": "17186:95:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6432, - "nodeType": "Block", - "src": "17415:28:8", - "statements": [] - }, - "documentation": "@dev Upgrade Contract Version", - "functionSelector": "eb2c0223", - "id": 6433, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6428, - "modifierName": { - "argumentTypes": null, - "id": 6427, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7294, - "src": "17394:9:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17394:9:8" - }, - { - "arguments": null, - "id": 6430, - "modifierName": { - "argumentTypes": null, - "id": 6429, - "name": "whenPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10734, - "src": "17404:10:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17404:10:8" - } - ], - "name": "upgradeContract", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6426, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6425, - "name": "_newContract", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6433, - "src": "17365:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6424, - "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": 6431, - "nodeType": "ParameterList", - "parameters": [], - "src": "17415:0:8" - }, - "scope": 6434, - "src": "17340:103:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - } - ], - "scope": 6435, - "src": "511:16934:8" - } - ], - "src": "0:17446:8" - }, - "legacyAST": { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/bepro/Network.sol", - "exportedSymbols": { - "BEPRONetwork": [ - 6434 - ], - "_IERC20": [ - 4677 - ] - }, - "id": 6435, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4657, - "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": 4658, - "nodeType": "ImportDirective", - "scope": 6435, - "sourceUnit": 8210, - "src": "26:55:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Pausable.sol", - "file": "@openzeppelin/contracts/utils/Pausable.sol", - "id": 4659, - "nodeType": "ImportDirective", - "scope": 6435, - "sourceUnit": 10766, - "src": "82:52:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Ownable.sol", - "file": "../utils/Ownable.sol", - "id": 4660, - "nodeType": "ImportDirective", - "scope": 6435, - "sourceUnit": 7322, - "src": "135:30:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 4661, - "name": "IERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8278, - "src": "251:6:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$8278", - "typeString": "contract IERC20" - } - }, - "id": 4662, - "nodeType": "InheritanceSpecifier", - "src": "251:6:8" - } - ], - "contractDependencies": [ - 8278 - ], - "contractKind": "interface", - "documentation": "@dev Interface of the ERC20 standard + mint & burn", - "fullyImplemented": false, - "id": 4677, - "linearizedBaseContracts": [ - 4677, - 8278 - ], - "name": "_IERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": "@dev Mint Function", - "functionSelector": "40c10f19", - "id": 4669, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4667, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4664, - "name": "account", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4669, - "src": "320:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4663, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "320:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4666, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4669, - "src": "337:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4665, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "337:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "319:33:8" - }, - "returnParameters": { - "id": 4668, - "nodeType": "ParameterList", - "parameters": [], - "src": "361:0:8" - }, - "scope": 4677, - "src": "306:56:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Burn Function", - "functionSelector": "9dc29fac", - "id": 4676, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4674, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4671, - "name": "account", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4676, - "src": "422:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4670, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "422:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4673, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4676, - "src": "439:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4672, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "439:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "421:33:8" - }, - "returnParameters": { - "id": 4675, - "nodeType": "ParameterList", - "parameters": [], - "src": "463:0:8" - }, - "scope": 4677, - "src": "408:56:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6435, - "src": "230:237:8" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 4678, - "name": "Pausable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10765, - "src": "536:8:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Pausable_$10765", - "typeString": "contract Pausable" - } - }, - "id": 4679, - "nodeType": "InheritanceSpecifier", - "src": "536:8:8" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 4680, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7321, - "src": "546:7:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$7321", - "typeString": "contract Ownable" - } - }, - "id": 4681, - "nodeType": "InheritanceSpecifier", - "src": "546:7:8" - } - ], - "contractDependencies": [ - 7321, - 9668, - 10765 - ], - "contractKind": "contract", - "documentation": "@title BEPRO Network Contract", - "fullyImplemented": true, - "id": 6434, - "linearizedBaseContracts": [ - 6434, - 7321, - 10765, - 9668 - ], - "name": "BEPRONetwork", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 4684, - "libraryName": { - "contractScope": null, - "id": 4682, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7725, - "src": "565:8:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$7725", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "559:27:8", - "typeName": { - "id": 4683, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "578:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "functionSelector": "e113e452", - "id": 4686, - "name": "beproToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "592:25:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - }, - "typeName": { - "contractScope": null, - "id": 4685, - "name": "_IERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4677, - "src": "592:7:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": true, - "id": 4689, - "name": "year", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "624:40:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4687, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "624:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "333635", - "id": 4688, - "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": 4692, - "name": "incrementIssueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "670:35:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4690, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "670:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31", - "id": 4691, - "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": 4695, - "name": "closedIdsCount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "711:33:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4693, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "711:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 4694, - "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": 4698, - "name": "totalStaked", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "750:30:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4696, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "750:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 4697, - "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": 4701, - "name": "feeAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "786:70:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4699, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "786:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307843463343384265326532433432333331446138304546323130653942316233303743303364333641", - "id": 4700, - "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": 4704, - "name": "feeShare", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "862:27:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4702, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "862:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "32", - "id": 4703, - "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": 4707, - "name": "mergeCreatorFeeShare", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "939:39:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4705, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "939:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31", - "id": 4706, - "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": 4710, - "name": "percentageNeededForApprove", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "1035:46:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4708, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1035:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3130", - "id": 4709, - "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": 4713, - "name": "percentageNeededForDispute", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "1153:45:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4711, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1153:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "33", - "id": 4712, - "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": 4716, - "name": "timeOpenForIssueApprove", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "1270:56:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4714, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1270:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "33", - "id": 4715, - "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": 4719, - "name": "percentageNeededForMerge", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "1332:44:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4717, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1332:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3230", - "id": 4718, - "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": 4722, - "name": "beproVotesStaked", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "1448:35:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4720, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1448:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 4721, - "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": 4725, - "name": "COUNCIL_BEPRO_AMOUNT", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "1490:46:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4723, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1490:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3130303030303030", - "id": 4724, - "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": 4728, - "name": "OPERATOR_BEPRO_AMOUNT", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "1549:46:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4726, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1549:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31303030303030", - "id": 4727, - "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": 4731, - "name": "DEVELOPER_BEPRO_AMOUNT", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "1607:45:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4729, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1607:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3130303030", - "id": 4730, - "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": 4735, - "name": "issues", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "1666:39:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue)" - }, - "typeName": { - "id": 4734, - "keyType": { - "id": 4732, - "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_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue)" - }, - "valueType": { - "contractScope": null, - "id": 4733, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4795, - "src": "1685:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_storage_ptr", - "typeString": "struct BEPRONetwork.Issue" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "1ac63d92", - "id": 4740, - "name": "myIssues", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "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": 4739, - "keyType": { - "id": 4736, - "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": 4737, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1756:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4738, - "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": 4744, - "name": "voters", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "1821:39:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter)" - }, - "typeName": { - "id": 4743, - "keyType": { - "id": 4741, - "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_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter)" - }, - "valueType": { - "contractScope": null, - "id": 4742, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4807, - "src": "1840:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "53da4247", - "id": 4747, - "name": "votersArray", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "1867:28:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 4745, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1867:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4746, - "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": 4770, - "members": [ - { - "constant": false, - "id": 4749, - "name": "_id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4770, - "src": "1935:11:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4748, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1935:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4753, - "name": "votesForMergeByAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4770, - "src": "1956:50:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 4752, - "keyType": { - "id": 4750, - "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": 4751, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1975:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4757, - "name": "disputesForMergeByAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4770, - "src": "2051:53:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 4756, - "keyType": { - "id": 4754, - "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": 4755, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2070:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4759, - "name": "votes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4770, - "src": "2149:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4758, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2149:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4761, - "name": "disputes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4770, - "src": "2195:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4760, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2195:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4764, - "name": "prAddresses", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4770, - "src": "2244:21:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 4762, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2244:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4763, - "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": 4767, - "name": "prAmounts", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4770, - "src": "2275:19:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 4765, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2275:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4766, - "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": 4769, - "name": "proposalAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4770, - "src": "2304:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4768, - "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": 6434, - "src": "1904:430:8", - "visibility": "public" - }, - { - "canonicalName": "BEPRONetwork.Issue", - "id": 4795, - "members": [ - { - "constant": false, - "id": 4772, - "name": "_id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4795, - "src": "2363:11:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4771, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2363:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4774, - "name": "creationDate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4795, - "src": "2384:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4773, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2384:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4776, - "name": "beproStaked", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4795, - "src": "2414:19:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4775, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2414:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4778, - "name": "issueGenerator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4795, - "src": "2443:22:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4777, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2443:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4782, - "name": "votesForApproveByAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4795, - "src": "2475:52:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 4781, - "keyType": { - "id": 4779, - "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": 4780, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2494:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4784, - "name": "votesForApprove", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4795, - "src": "2537:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4783, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2537:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4788, - "name": "mergeProposals", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4795, - "src": "2570:48:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$4770_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal)" - }, - "typeName": { - "id": 4787, - "keyType": { - "id": 4785, - "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_$4770_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal)" - }, - "valueType": { - "contractScope": null, - "id": 4786, - "name": "MergeProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4770, - "src": "2589:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4790, - "name": "mergeIDIncrement", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4795, - "src": "2652:24:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4789, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2652:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4792, - "name": "finalized", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4795, - "src": "2686:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4791, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2686:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4794, - "name": "canceled", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4795, - "src": "2710:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4793, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2710:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Issue", - "nodeType": "StructDefinition", - "scope": 6434, - "src": "2340:390:8", - "visibility": "public" - }, - { - "canonicalName": "BEPRONetwork.Voter", - "id": 4807, - "members": [ - { - "constant": false, - "id": 4797, - "name": "votesDelegatedByOthers", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4807, - "src": "2759:30:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4796, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2759:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4801, - "name": "votesDelegated", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4807, - "src": "2799:42:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 4800, - "keyType": { - "id": 4798, - "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": 4799, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2818:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4804, - "name": "delegatedVotesAddresses", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4807, - "src": "2851:33:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 4802, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2851:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4803, - "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": 4806, - "name": "beproLocked", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4807, - "src": "2894:19:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4805, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2894:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Voter", - "nodeType": "StructDefinition", - "scope": 6434, - "src": "2736:184:8", - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 4815, - "name": "OpenIssue", - "nodeType": "EventDefinition", - "parameters": { - "id": 4814, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4809, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4815, - "src": "2942:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4808, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2942:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4811, - "indexed": true, - "name": "opener", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4815, - "src": "2962:22:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4810, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2962:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4813, - "indexed": true, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4815, - "src": "2986:22:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4812, - "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": 4823, - "name": "ApproveIssue", - "nodeType": "EventDefinition", - "parameters": { - "id": 4822, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4817, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4823, - "src": "3034:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4816, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3034:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4819, - "indexed": true, - "name": "votes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4823, - "src": "3054:21:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4818, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3054:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4821, - "indexed": true, - "name": "approver", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4823, - "src": "3077:24:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4820, - "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": 4831, - "name": "MergeProposalCreated", - "nodeType": "EventDefinition", - "parameters": { - "id": 4830, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4825, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4831, - "src": "3135:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4824, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3135:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4827, - "indexed": true, - "name": "mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4831, - "src": "3155:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4826, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3155:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4829, - "indexed": true, - "name": "creator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4831, - "src": "3180:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4828, - "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": 4841, - "name": "DisputeMerge", - "nodeType": "EventDefinition", - "parameters": { - "id": 4840, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4833, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4841, - "src": "3229:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4832, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3229:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4835, - "indexed": true, - "name": "mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4841, - "src": "3249:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4834, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3249:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4837, - "indexed": false, - "name": "votes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4841, - "src": "3274:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4836, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3274:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4839, - "indexed": true, - "name": "disputer", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4841, - "src": "3289:24:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4838, - "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": 4851, - "name": "ApproveMerge", - "nodeType": "EventDefinition", - "parameters": { - "id": 4850, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4843, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4851, - "src": "3339:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4842, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3339:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4845, - "indexed": true, - "name": "mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4851, - "src": "3359:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4844, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3359:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4847, - "indexed": false, - "name": "votes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4851, - "src": "3384:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4846, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3384:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4849, - "indexed": true, - "name": "approver", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4851, - "src": "3399:24:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4848, - "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": 4860, - "name": "CloseIssue", - "nodeType": "EventDefinition", - "parameters": { - "id": 4859, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4853, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4860, - "src": "3447:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4852, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3447:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4855, - "indexed": true, - "name": "mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4860, - "src": "3467:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4854, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3467:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4858, - "indexed": true, - "name": "addresses", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4860, - "src": "3492:27:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 4856, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3492:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4857, - "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": 4871, - "nodeType": "Block", - "src": "3569:53:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 4869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4865, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4686, - "src": "3580:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4867, - "name": "_tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4862, - "src": "3601:13:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4866, - "name": "_IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4677, - "src": "3593:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$__IERC20_$4677_$", - "typeString": "type(contract _IERC20)" - } - }, - "id": 4868, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3593:22:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "src": "3580:35:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "id": 4870, - "nodeType": "ExpressionStatement", - "src": "3580:35:8" - } - ] - }, - "documentation": null, - "id": 4872, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4863, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4862, - "name": "_tokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4872, - "src": "3539:21:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4861, - "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": 4864, - "nodeType": "ParameterList", - "parameters": [], - "src": "3569:0:8" - }, - "scope": 6434, - "src": "3527:95:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4981, - "nodeType": "Block", - "src": "3676:791:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4880, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4878, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4874, - "src": "3694:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4879, - "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": 4881, - "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": 4877, - "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": 4882, - "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": 4883, - "nodeType": "ExpressionStatement", - "src": "3686:64:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4887, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3792:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4888, - "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": 4891, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "3812:4:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BEPRONetwork_$6434", - "typeString": "contract BEPRONetwork" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_BEPRONetwork_$6434", - "typeString": "contract BEPRONetwork" - } - ], - "id": 4890, - "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": 4889, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3804:7:8", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 4892, - "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": 4893, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4874, - "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": 4885, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4686, - "src": "3768:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "id": 4886, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 8261, - "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": 4894, - "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": 4895, - "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": 4884, - "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": 4896, - "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": 4897, - "nodeType": "ExpressionStatement", - "src": "3760:92:8" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4904, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4898, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "3866:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 4901, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4899, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3873:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4900, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 4902, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4806, - "src": "3866:30:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4903, - "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": 4979, - "nodeType": "Block", - "src": "4159:302:8", - "statements": [ - { - "assignments": [ - 4943 - ], - "declarations": [ - { - "constant": false, - "id": 4943, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4979, - "src": "4203:19:8", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - }, - "typeName": { - "contractScope": null, - "id": 4942, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4807, - "src": "4203:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4948, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4944, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "4225:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 4947, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4945, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4232:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4946, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4203:40:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 4953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4949, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4943, - "src": "4257:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 4951, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4806, - "src": "4257:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4952, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4874, - "src": "4277:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4257:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4954, - "nodeType": "ExpressionStatement", - "src": "4257:32:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 4961, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4955, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4943, - "src": "4303:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 4957, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "delegatedVotesAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 4804, - "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": 4958, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4336:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4959, - "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": 4960, - "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": 4962, - "nodeType": "ExpressionStatement", - "src": "4303:44:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 4970, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4963, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4943, - "src": "4361:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 4967, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 4801, - "src": "4361:20:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 4968, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4965, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4382:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4966, - "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": 4969, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4874, - "src": "4396:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4361:47:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4971, - "nodeType": "ExpressionStatement", - "src": "4361:47:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4975, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4439:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4976, - "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": 4972, - "name": "votersArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4747, - "src": "4422:11:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 4974, - "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": 4977, - "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": 4978, - "nodeType": "ExpressionStatement", - "src": "4422:28:8" - } - ] - }, - "id": 4980, - "nodeType": "IfStatement", - "src": "3863:598:8", - "trueBody": { - "id": 4941, - "nodeType": "Block", - "src": "3902:253:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 4924, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4905, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "3938:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 4908, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4906, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3945:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4907, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 4909, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 4801, - "src": "3938:33:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 4912, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4910, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3972:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4911, - "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": 4922, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4874, - "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": 4913, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "3986:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 4916, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4914, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3993:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4915, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 4917, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 4801, - "src": "3986:33:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 4920, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4918, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4020:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4919, - "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": 4921, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7559, - "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": 4923, - "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": 4925, - "nodeType": "ExpressionStatement", - "src": "3938:111:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 4939, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4926, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "4063:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 4929, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4927, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4070:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4928, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 4930, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4806, - "src": "4063:30:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4937, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4874, - "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": 4931, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "4096:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 4934, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4932, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4103:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4933, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 4935, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4806, - "src": "4096:30:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4936, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7559, - "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": 4938, - "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": 4940, - "nodeType": "ExpressionStatement", - "src": "4063:81:8" - } - ] - } - } - ] - }, - "documentation": null, - "functionSelector": "9816c170", - "id": 4982, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "lockBepro", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4875, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4874, - "name": "_beproAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4982, - "src": "3647:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4873, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3647:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3646:22:8" - }, - "returnParameters": { - "id": 4876, - "nodeType": "ParameterList", - "parameters": [], - "src": "3676:0:8" - }, - "scope": 6434, - "src": "3628:839:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5077, - "nodeType": "Block", - "src": "4538:697:8", - "statements": [ - { - "assignments": [ - 4990 - ], - "declarations": [ - { - "constant": false, - "id": 4990, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5077, - "src": "4548:19:8", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - }, - "typeName": { - "contractScope": null, - "id": 4989, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4807, - "src": "4548:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4995, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4991, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "4570:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 4994, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4992, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4577:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4993, - "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_$4807_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": 5000, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4997, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4990, - "src": "4606:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 4998, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4806, - "src": "4606:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 4999, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4984, - "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": 5001, - "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": 4996, - "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": 5002, - "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": 5003, - "nodeType": "ExpressionStatement", - "src": "4598:73:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5010, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5005, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4990, - "src": "4689:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5006, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 4801, - "src": "4689:20:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5008, - "indexExpression": { - "argumentTypes": null, - "id": 5007, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4986, - "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": 5009, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4984, - "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": 5011, - "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": 5004, - "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": 5012, - "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": 5013, - "nodeType": "ExpressionStatement", - "src": "4681:88:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5024, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5014, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "4780:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5017, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5015, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4787:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5016, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5018, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4806, - "src": "4780:30:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5022, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4984, - "src": "4835:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5019, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4990, - "src": "4813:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5020, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4806, - "src": "4813:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5021, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7580, - "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": 5023, - "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": 5025, - "nodeType": "ExpressionStatement", - "src": "4780:68:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5040, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5026, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "4858:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5029, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5027, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4865:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5028, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5030, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 4801, - "src": "4858:33:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5032, - "indexExpression": { - "argumentTypes": null, - "id": 5031, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4986, - "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": 5038, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4984, - "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": 5033, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4990, - "src": "4901:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5034, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 4801, - "src": "4901:20:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5036, - "indexExpression": { - "argumentTypes": null, - "id": 5035, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4986, - "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": 5037, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7580, - "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": 5039, - "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": 5041, - "nodeType": "ExpressionStatement", - "src": "4858:88:8" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5045, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5042, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4959:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5043, - "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": 5044, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4986, - "src": "4973:5:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "4959:19:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5060, - "nodeType": "IfStatement", - "src": "4956:141:8", - "trueBody": { - "id": 5059, - "nodeType": "Block", - "src": "4979:118:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5057, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5046, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "4993:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5048, - "indexExpression": { - "argumentTypes": null, - "id": 5047, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4986, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5049, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "votesDelegatedByOthers", - "nodeType": "MemberAccess", - "referencedDeclaration": 4797, - "src": "4993:36:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5055, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4984, - "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": 5050, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "5032:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5052, - "indexExpression": { - "argumentTypes": null, - "id": 5051, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4986, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5053, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegatedByOthers", - "nodeType": "MemberAccess", - "referencedDeclaration": 4797, - "src": "5032:36:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5054, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7580, - "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": 5056, - "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": 5058, - "nodeType": "ExpressionStatement", - "src": "4993:93:8" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5064, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5135:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5065, - "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": 5066, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4984, - "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": 5062, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4686, - "src": "5115:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "id": 5063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 8232, - "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": 5067, - "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": 5068, - "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": 5061, - "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": 5069, - "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": 5070, - "nodeType": "ExpressionStatement", - "src": "5107:77:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5074, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4984, - "src": "5215:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5071, - "name": "beproVotesStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4722, - "src": "5194:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5073, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7580, - "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": 5075, - "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": 5076, - "nodeType": "ExpressionStatement", - "src": "5194:34:8" - } - ] - }, - "documentation": null, - "functionSelector": "f38b79b7", - "id": 5078, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "unlockBepro", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4987, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4984, - "name": "_beproAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5078, - "src": "4494:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4983, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4494:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4986, - "name": "_from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5078, - "src": "4516:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4985, - "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": 4988, - "nodeType": "ParameterList", - "parameters": [], - "src": "4538:0:8" - }, - "scope": 6434, - "src": "4473:762:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5189, - "nodeType": "Block", - "src": "5319:849:8", - "statements": [ - { - "assignments": [ - 5086 - ], - "declarations": [ - { - "constant": false, - "id": 5086, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5189, - "src": "5329:19:8", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - }, - "typeName": { - "contractScope": null, - "id": 5085, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4807, - "src": "5329:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5091, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5087, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "5351:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5090, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5088, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5358:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5089, - "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_$4807_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": 5098, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5093, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5082, - "src": "5388:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5096, - "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": 5095, - "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": 5094, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5404:7:8", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5097, - "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": 5099, - "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": 5092, - "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": 5100, - "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": 5101, - "nodeType": "ExpressionStatement", - "src": "5380:74:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5106, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5103, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5082, - "src": "5472:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5104, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5488:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5105, - "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": 5107, - "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": 5102, - "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": 5108, - "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": 5109, - "nodeType": "ExpressionStatement", - "src": "5464:64:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5114, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5111, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5086, - "src": "5547:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5112, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4806, - "src": "5547:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 5113, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "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": 5115, - "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": 5110, - "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": 5116, - "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": 5117, - "nodeType": "ExpressionStatement", - "src": "5539:73:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5125, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5119, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5086, - "src": "5630:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5120, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 4801, - "src": "5630:20:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5123, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5121, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5651:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5122, - "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": 5124, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "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": 5126, - "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": 5118, - "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": 5127, - "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": 5128, - "nodeType": "ExpressionStatement", - "src": "5622:93:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5145, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5129, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "5726:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5132, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5130, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5733:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5131, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5133, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 4801, - "src": "5726:33:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5136, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5134, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5760:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5135, - "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": 5143, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "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": 5137, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5086, - "src": "5774:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5138, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 4801, - "src": "5774:20:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5141, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5139, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5795:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5140, - "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": 5142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7580, - "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": 5144, - "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": 5146, - "nodeType": "ExpressionStatement", - "src": "5726:98:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5147, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "5834:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5150, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5148, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5841:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5149, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5151, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 4801, - "src": "5834:33:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5153, - "indexExpression": { - "argumentTypes": null, - "id": 5152, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5082, - "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": 5159, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "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": 5154, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5086, - "src": "5884:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5155, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 4801, - "src": "5884:20:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5157, - "indexExpression": { - "argumentTypes": null, - "id": 5156, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5082, - "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": 5158, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7559, - "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": 5160, - "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": 5162, - "nodeType": "ExpressionStatement", - "src": "5834:102:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5172, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5164, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "5955:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5166, - "indexExpression": { - "argumentTypes": null, - "id": 5165, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5082, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5167, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4806, - "src": "5955:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5170, - "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": 5169, - "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": 5168, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5991:7:8", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5171, - "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": 5173, - "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": 5163, - "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": 5174, - "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": 5175, - "nodeType": "ExpressionStatement", - "src": "5947:97:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5187, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5176, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "6054:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5178, - "indexExpression": { - "argumentTypes": null, - "id": 5177, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5082, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5179, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "votesDelegatedByOthers", - "nodeType": "MemberAccess", - "referencedDeclaration": 4797, - "src": "6054:43:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5185, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "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": 5180, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "6100:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5182, - "indexExpression": { - "argumentTypes": null, - "id": 5181, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5082, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5183, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegatedByOthers", - "nodeType": "MemberAccess", - "referencedDeclaration": 4797, - "src": "6100:43:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7559, - "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": 5186, - "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": 5188, - "nodeType": "ExpressionStatement", - "src": "6054:107:8" - } - ] - }, - "documentation": null, - "id": 5190, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "delegateOracles", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5083, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5080, - "name": "_beproAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5190, - "src": "5266:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5079, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5266:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5082, - "name": "_delegatedTo", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5190, - "src": "5288:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5081, - "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": 5084, - "nodeType": "ParameterList", - "parameters": [], - "src": "5319:0:8" - }, - "scope": 6434, - "src": "5241:927:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5272, - "nodeType": "Block", - "src": "6221:596:8", - "statements": [ - { - "assignments": [ - 5196 - ], - "declarations": [ - { - "constant": false, - "id": 5196, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5272, - "src": "6231:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_memory_ptr", - "typeString": "struct BEPRONetwork.Voter" - }, - "typeName": { - "contractScope": null, - "id": 5195, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4807, - "src": "6231:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5201, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5197, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "6252:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5200, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5198, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6259:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5199, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6231:39:8" - }, - { - "assignments": [ - 5203 - ], - "declarations": [ - { - "constant": false, - "id": 5203, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5272, - "src": "6280:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue" - }, - "typeName": { - "contractScope": null, - "id": 5202, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4795, - "src": "6280:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_storage_ptr", - "typeString": "struct BEPRONetwork.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5207, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5204, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "6301:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5206, - "indexExpression": { - "argumentTypes": null, - "id": 5205, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5192, - "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_$4795_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": 5212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5209, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5203, - "src": "6335:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5210, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 4772, - "src": "6335:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5211, - "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": 5213, - "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": 5208, - "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": 5214, - "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": 5215, - "nodeType": "ExpressionStatement", - "src": "6327:47:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5218, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5192, - "src": "6410:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5217, - "name": "isIssueApprovable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5491, - "src": "6392:17:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 5219, - "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": 5216, - "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": 5220, - "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": 5221, - "nodeType": "ExpressionStatement", - "src": "6384:36:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5231, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5223, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "6438:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5225, - "indexExpression": { - "argumentTypes": null, - "id": 5224, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5192, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5226, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForApproveByAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 4782, - "src": "6438:41:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5229, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5227, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6480:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5228, - "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": 5230, - "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": 5232, - "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": 5222, - "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": 5233, - "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": 5234, - "nodeType": "ExpressionStatement", - "src": "6430:88:8" - }, - { - "assignments": [ - 5236 - ], - "declarations": [ - { - "constant": false, - "id": 5236, - "name": "votesToAdd", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5272, - "src": "6529:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5235, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6529:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5241, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5238, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6568:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5239, - "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": 5237, - "name": "getVotesByAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6294, - "src": "6550:17:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) returns (uint256)" - } - }, - "id": 5240, - "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": 5253, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5242, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "6589:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5244, - "indexExpression": { - "argumentTypes": null, - "id": 5243, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5192, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5245, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "votesForApprove", - "nodeType": "MemberAccess", - "referencedDeclaration": 4784, - "src": "6589:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5251, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5236, - "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": 5246, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "6624:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5248, - "indexExpression": { - "argumentTypes": null, - "id": 5247, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5192, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5249, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForApprove", - "nodeType": "MemberAccess", - "referencedDeclaration": 4784, - "src": "6624:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5250, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7559, - "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": 5252, - "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": 5254, - "nodeType": "ExpressionStatement", - "src": "6589:83:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5255, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "6682:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5257, - "indexExpression": { - "argumentTypes": null, - "id": 5256, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5192, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5258, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForApproveByAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 4782, - "src": "6682:41:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5261, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5259, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6724:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5260, - "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": 5262, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5236, - "src": "6738:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6682:66:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5264, - "nodeType": "ExpressionStatement", - "src": "6682:66:8" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5266, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5192, - "src": "6777:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5267, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5236, - "src": "6787:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5268, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6799:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5269, - "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": 5265, - "name": "ApproveIssue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4823, - "src": "6764:12:8", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,uint256,address)" - } - }, - "id": 5270, - "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": 5271, - "nodeType": "EmitStatement", - "src": "6759:51:8" - } - ] - }, - "documentation": null, - "functionSelector": "56036543", - "id": 5273, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approveIssue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5193, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5192, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5273, - "src": "6196:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5191, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6196:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6195:18:8" - }, - "returnParameters": { - "id": 5194, - "nodeType": "ParameterList", - "parameters": [], - "src": "6221:0:8" - }, - "scope": 6434, - "src": "6174:643:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5371, - "nodeType": "Block", - "src": "6888:748:8", - "statements": [ - { - "assignments": [ - 5281 - ], - "declarations": [ - { - "constant": false, - "id": 5281, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5371, - "src": "6898:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_memory_ptr", - "typeString": "struct BEPRONetwork.Voter" - }, - "typeName": { - "contractScope": null, - "id": 5280, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4807, - "src": "6898:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5286, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5282, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "6919:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5285, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5283, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6926:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5284, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6898:39:8" - }, - { - "assignments": [ - 5288 - ], - "declarations": [ - { - "constant": false, - "id": 5288, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5371, - "src": "6947:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue" - }, - "typeName": { - "contractScope": null, - "id": 5287, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4795, - "src": "6947:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_storage_ptr", - "typeString": "struct BEPRONetwork.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5292, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5289, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "6968:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5291, - "indexExpression": { - "argumentTypes": null, - "id": 5290, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5275, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6947:37:8" - }, - { - "assignments": [ - 5294 - ], - "declarations": [ - { - "constant": false, - "id": 5294, - "name": "merge", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5371, - "src": "6994:27:8", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - }, - "typeName": { - "contractScope": null, - "id": 5293, - "name": "MergeProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4770, - "src": "6994:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5301, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5295, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "7024:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5297, - "indexExpression": { - "argumentTypes": null, - "id": 5296, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5275, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5298, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 4788, - "src": "7024:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$4770_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 5300, - "indexExpression": { - "argumentTypes": null, - "id": 5299, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5277, - "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_$4770_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": 5306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5303, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5288, - "src": "7083:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5304, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 4772, - "src": "7083:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5305, - "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": 5307, - "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": 5302, - "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": 5308, - "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": 5309, - "nodeType": "ExpressionStatement", - "src": "7075:47:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5311, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5288, - "src": "7140:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5312, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 4790, - "src": "7140:22:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 5313, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5277, - "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": 5315, - "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": 5310, - "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": 5316, - "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": 5317, - "nodeType": "ExpressionStatement", - "src": "7132:76:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5319, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5294, - "src": "7226:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal storage pointer" - } - }, - "id": 5320, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForMergeByAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 4753, - "src": "7226:28:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5323, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5321, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7255:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5322, - "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": 5324, - "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": 5326, - "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": 5318, - "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": 5327, - "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": 5328, - "nodeType": "ExpressionStatement", - "src": "7218:75:8" - }, - { - "assignments": [ - 5330 - ], - "declarations": [ - { - "constant": false, - "id": 5330, - "name": "votesToAdd", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5371, - "src": "7304:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5329, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7304:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5335, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5332, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7343:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5333, - "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": 5331, - "name": "getVotesByAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6294, - "src": "7325:17:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) returns (uint256)" - } - }, - "id": 5334, - "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": 5348, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5336, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "7373:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5338, - "indexExpression": { - "argumentTypes": null, - "id": 5337, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5275, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5339, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 4788, - "src": "7373:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$4770_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 5341, - "indexExpression": { - "argumentTypes": null, - "id": 5340, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5277, - "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_$4770_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 5342, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 4759, - "src": "7373:47:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5346, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5330, - "src": "7439:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5343, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5294, - "src": "7423:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal storage pointer" - } - }, - "id": 5344, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 4759, - "src": "7423:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7559, - "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": 5347, - "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": 5349, - "nodeType": "ExpressionStatement", - "src": "7373:77:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5361, - "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": 5350, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "7460:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5352, - "indexExpression": { - "argumentTypes": null, - "id": 5351, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5275, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5353, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 4788, - "src": "7460:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$4770_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 5355, - "indexExpression": { - "argumentTypes": null, - "id": 5354, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5277, - "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_$4770_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 5356, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForMergeByAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 4753, - "src": "7460:64:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5359, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5357, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7525:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5358, - "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": 5360, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5330, - "src": "7539:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7460:89:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5362, - "nodeType": "ExpressionStatement", - "src": "7460:89:8" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5364, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5275, - "src": "7586:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5365, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5277, - "src": "7596:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5366, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5330, - "src": "7606:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5367, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7618:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5368, - "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": 5363, - "name": "ApproveMerge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4851, - "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": 5369, - "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": 5370, - "nodeType": "EmitStatement", - "src": "7568:61:8" - } - ] - }, - "documentation": null, - "functionSelector": "953030c5", - "id": 5372, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approveMerge", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5278, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5275, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5372, - "src": "6845:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5274, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6845:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5277, - "name": "_mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5372, - "src": "6863:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5276, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6863:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6844:36:8" - }, - "returnParameters": { - "id": 5279, - "nodeType": "ParameterList", - "parameters": [], - "src": "6888:0:8" - }, - "scope": 6434, - "src": "6823:813:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5470, - "nodeType": "Block", - "src": "7707:760:8", - "statements": [ - { - "assignments": [ - 5380 - ], - "declarations": [ - { - "constant": false, - "id": 5380, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5470, - "src": "7717:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_memory_ptr", - "typeString": "struct BEPRONetwork.Voter" - }, - "typeName": { - "contractScope": null, - "id": 5379, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4807, - "src": "7717:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5385, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5381, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "7738:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5384, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5382, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7745:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5383, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7717:39:8" - }, - { - "assignments": [ - 5387 - ], - "declarations": [ - { - "constant": false, - "id": 5387, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5470, - "src": "7766:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue" - }, - "typeName": { - "contractScope": null, - "id": 5386, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4795, - "src": "7766:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_storage_ptr", - "typeString": "struct BEPRONetwork.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5391, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5388, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "7787:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5390, - "indexExpression": { - "argumentTypes": null, - "id": 5389, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5374, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7766:37:8" - }, - { - "assignments": [ - 5393 - ], - "declarations": [ - { - "constant": false, - "id": 5393, - "name": "merge", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5470, - "src": "7813:27:8", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - }, - "typeName": { - "contractScope": null, - "id": 5392, - "name": "MergeProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4770, - "src": "7813:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5400, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5394, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "7843:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5396, - "indexExpression": { - "argumentTypes": null, - "id": 5395, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5374, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5397, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 4788, - "src": "7843:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$4770_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 5399, - "indexExpression": { - "argumentTypes": null, - "id": 5398, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5376, - "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_$4770_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": 5405, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5402, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5387, - "src": "7902:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5403, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 4772, - "src": "7902:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5404, - "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": 5406, - "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": 5401, - "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": 5407, - "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": 5408, - "nodeType": "ExpressionStatement", - "src": "7894:47:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5413, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5410, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5387, - "src": "7959:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5411, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 4790, - "src": "7959:22:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 5412, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5376, - "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": 5414, - "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": 5409, - "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": 5415, - "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": 5416, - "nodeType": "ExpressionStatement", - "src": "7951:76:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5418, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5393, - "src": "8045:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal storage pointer" - } - }, - "id": 5419, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "disputesForMergeByAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 4757, - "src": "8045:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5422, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5420, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8077:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5421, - "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": 5423, - "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": 5425, - "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": 5417, - "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": 5426, - "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": 5427, - "nodeType": "ExpressionStatement", - "src": "8037:78:8" - }, - { - "assignments": [ - 5429 - ], - "declarations": [ - { - "constant": false, - "id": 5429, - "name": "votesToAdd", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5470, - "src": "8126:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5428, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8126:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5434, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5431, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8165:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5432, - "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": 5430, - "name": "getVotesByAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6294, - "src": "8147:17:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) returns (uint256)" - } - }, - "id": 5433, - "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": 5447, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5435, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "8195:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5437, - "indexExpression": { - "argumentTypes": null, - "id": 5436, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5374, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5438, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 4788, - "src": "8195:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$4770_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 5440, - "indexExpression": { - "argumentTypes": null, - "id": 5439, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5376, - "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_$4770_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 5441, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "disputes", - "nodeType": "MemberAccess", - "referencedDeclaration": 4761, - "src": "8195:50:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5445, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5429, - "src": "8267:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5442, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5393, - "src": "8248:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal storage pointer" - } - }, - "id": 5443, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "disputes", - "nodeType": "MemberAccess", - "referencedDeclaration": 4761, - "src": "8248:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5444, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7559, - "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": 5446, - "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": 5448, - "nodeType": "ExpressionStatement", - "src": "8195:83:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5460, - "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": 5449, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "8288:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5451, - "indexExpression": { - "argumentTypes": null, - "id": 5450, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5374, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5452, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 4788, - "src": "8288:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$4770_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 5454, - "indexExpression": { - "argumentTypes": null, - "id": 5453, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5376, - "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_$4770_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 5455, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "disputesForMergeByAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 4757, - "src": "8288:67:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5458, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5456, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8356:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5457, - "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": 5459, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5429, - "src": "8370:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8288:92:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5461, - "nodeType": "ExpressionStatement", - "src": "8288:92:8" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5463, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5374, - "src": "8417:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5464, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5376, - "src": "8427:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5465, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5429, - "src": "8437:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5466, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8449:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5467, - "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": 5462, - "name": "DisputeMerge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4841, - "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": 5468, - "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": 5469, - "nodeType": "EmitStatement", - "src": "8399:61:8" - } - ] - }, - "documentation": null, - "functionSelector": "f87be2d4", - "id": 5471, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "disputeMerge", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5377, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5374, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5471, - "src": "7664:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5373, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7664:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5376, - "name": "_mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5471, - "src": "7682:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5375, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7682:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7663:36:8" - }, - "returnParameters": { - "id": 5378, - "nodeType": "ParameterList", - "parameters": [], - "src": "7707:0:8" - }, - "scope": 6434, - "src": "7642:825:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5490, - "nodeType": "Block", - "src": "8539:140:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5483, - "name": "timeOpenForIssueApprove", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4716, - "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": 5478, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "8595:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5480, - "indexExpression": { - "argumentTypes": null, - "id": 5479, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5473, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5481, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "creationDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 4774, - "src": "8595:29:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5482, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7559, - "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": 5484, - "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": 5485, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "8656:5:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 5486, - "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": 5488, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8594:78:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 5477, - "id": 5489, - "nodeType": "Return", - "src": "8587:85:8" - } - ] - }, - "documentation": null, - "functionSelector": "96983822", - "id": 5491, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isIssueApprovable", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5474, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5473, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5491, - "src": "8500:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5472, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8500:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8499:18:8" - }, - "returnParameters": { - "id": 5477, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5476, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5491, - "src": "8534:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5475, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8534:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8533:6:8" - }, - "scope": 6434, - "src": "8473:206:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5512, - "nodeType": "Block", - "src": "8750:119:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5509, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5498, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "8768:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5500, - "indexExpression": { - "argumentTypes": null, - "id": 5499, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5493, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5501, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForApprove", - "nodeType": "MemberAccess", - "referencedDeclaration": 4784, - "src": "8768:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "313030", - "id": 5507, - "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": 5504, - "name": "percentageNeededForApprove", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4710, - "src": "8825:26:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5502, - "name": "beproVotesStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4722, - "src": "8804:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5503, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7613, - "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": 5505, - "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": 5506, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7634, - "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": 5508, - "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": 5510, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8767:95:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 5497, - "id": 5511, - "nodeType": "Return", - "src": "8760:102:8" - } - ] - }, - "documentation": null, - "functionSelector": "3d734948", - "id": 5513, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isIssueApproved", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5494, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5493, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5513, - "src": "8710:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5492, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8710:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8709:18:8" - }, - "returnParameters": { - "id": 5497, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5496, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5513, - "src": "8744:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5495, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8744:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8743:6:8" - }, - "scope": 6434, - "src": "8685:184:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5539, - "nodeType": "Block", - "src": "8958:137:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5536, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5522, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "8976:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5524, - "indexExpression": { - "argumentTypes": null, - "id": 5523, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5515, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5525, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 4788, - "src": "8976:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$4770_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 5527, - "indexExpression": { - "argumentTypes": null, - "id": 5526, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5517, - "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_$4770_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 5528, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "disputes", - "nodeType": "MemberAccess", - "referencedDeclaration": 4761, - "src": "8976:50:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "313030", - "id": 5534, - "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": 5531, - "name": "percentageNeededForDispute", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4713, - "src": "9051:26:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5529, - "name": "beproVotesStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4722, - "src": "9030:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5530, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7613, - "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": 5532, - "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": 5533, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7634, - "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": 5535, - "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": 5537, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8975:113:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 5521, - "id": 5538, - "nodeType": "Return", - "src": "8968:120:8" - } - ] - }, - "documentation": null, - "functionSelector": "f29b4250", - "id": 5540, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isMergeDisputed", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5518, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5515, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5540, - "src": "8900:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5514, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8900:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5517, - "name": "_mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5540, - "src": "8918:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5516, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8918:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8899:36:8" - }, - "returnParameters": { - "id": 5521, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5520, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5540, - "src": "8952:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5519, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8952:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8951:6:8" - }, - "scope": 6434, - "src": "8875:220:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5566, - "nodeType": "Block", - "src": "9184:132:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5549, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "9202:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5551, - "indexExpression": { - "argumentTypes": null, - "id": 5550, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5542, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5552, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 4788, - "src": "9202:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$4770_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 5554, - "indexExpression": { - "argumentTypes": null, - "id": 5553, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5544, - "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_$4770_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 5555, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 4759, - "src": "9202:47:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "313030", - "id": 5561, - "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": 5558, - "name": "percentageNeededForMerge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4719, - "src": "9274:24:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5556, - "name": "beproVotesStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4722, - "src": "9253:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5557, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7613, - "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": 5559, - "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": 5560, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7634, - "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": 5562, - "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": 5564, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "9201:108:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 5548, - "id": 5565, - "nodeType": "Return", - "src": "9194:115:8" - } - ] - }, - "documentation": null, - "functionSelector": "ce13eae6", - "id": 5567, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isMergeApproved", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5545, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5542, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5567, - "src": "9126:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5541, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9126:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5544, - "name": "_mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5567, - "src": "9144:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5543, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9144:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9125:36:8" - }, - "returnParameters": { - "id": 5548, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5547, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5567, - "src": "9178:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5546, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "9178:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9177:6:8" - }, - "scope": 6434, - "src": "9101:215:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5616, - "nodeType": "Block", - "src": "9420:309:8", - "statements": [ - { - "assignments": [ - 5577 - ], - "declarations": [ - { - "constant": false, - "id": 5577, - "name": "thisMergeVotes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5616, - "src": "9430:22:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5576, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9430:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5585, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5578, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "9455:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5580, - "indexExpression": { - "argumentTypes": null, - "id": 5579, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5569, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5581, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 4788, - "src": "9455:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$4770_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 5583, - "indexExpression": { - "argumentTypes": null, - "id": 5582, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5571, - "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_$4770_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 5584, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 4759, - "src": "9455:47:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9430:72:8" - }, - { - "body": { - "id": 5612, - "nodeType": "Block", - "src": "9572:130:8", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5607, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5599, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "9589:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5601, - "indexExpression": { - "argumentTypes": null, - "id": 5600, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5569, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5602, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 4788, - "src": "9589:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$4770_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 5604, - "indexExpression": { - "argumentTypes": null, - "id": 5603, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5587, - "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_$4770_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 5605, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 4759, - "src": "9589:40:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 5606, - "name": "thisMergeVotes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5577, - "src": "9632:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9589:57:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5611, - "nodeType": "IfStatement", - "src": "9586:106:8", - "trueBody": { - "id": 5610, - "nodeType": "Block", - "src": "9647:45:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 5608, - "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": 5575, - "id": 5609, - "nodeType": "Return", - "src": "9665:12:8" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5595, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5590, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5587, - "src": "9529:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5591, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "9533:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5593, - "indexExpression": { - "argumentTypes": null, - "id": 5592, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5569, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5594, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 4790, - "src": "9533:33:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9529:37:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5613, - "initializationExpression": { - "assignments": [ - 5587 - ], - "declarations": [ - { - "constant": false, - "id": 5587, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5613, - "src": "9516:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5586, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "9516:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5589, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 5588, - "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": 5597, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "9568:3:8", - "subExpression": { - "argumentTypes": null, - "id": 5596, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5587, - "src": "9568:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 5598, - "nodeType": "ExpressionStatement", - "src": "9568:3:8" - }, - "nodeType": "ForStatement", - "src": "9512:190:8" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5614, - "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": 5575, - "id": 5615, - "nodeType": "Return", - "src": "9711:11:8" - } - ] - }, - "documentation": null, - "functionSelector": "839408a5", - "id": 5617, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isMergeTheOneWithMoreVotes", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5572, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5569, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "9362:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5568, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9362:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5571, - "name": "_mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "9380:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5570, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9380:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9361:36:8" - }, - "returnParameters": { - "id": 5575, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5574, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "9414:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5573, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "9414:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9413:6:8" - }, - "scope": 6434, - "src": "9326:403:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5707, - "nodeType": "Block", - "src": "9872:649:8", - "statements": [ - { - "assignments": [ - 5625 - ], - "declarations": [ - { - "constant": false, - "id": 5625, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5707, - "src": "9904:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue" - }, - "typeName": { - "contractScope": null, - "id": 5624, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4795, - "src": "9904:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_storage_ptr", - "typeString": "struct BEPRONetwork.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5626, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "9904:18:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5631, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5627, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5625, - "src": "9932:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5629, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 4772, - "src": "9932:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5630, - "name": "incrementIssueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4692, - "src": "9944:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9932:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5632, - "nodeType": "ExpressionStatement", - "src": "9932:28:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5637, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5633, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5625, - "src": "9970:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5635, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4776, - "src": "9970:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5636, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5619, - "src": "9990:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9970:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5638, - "nodeType": "ExpressionStatement", - "src": "9970:32:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5644, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5639, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5625, - "src": "10012:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5641, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "issueGenerator", - "nodeType": "MemberAccess", - "referencedDeclaration": 4778, - "src": "10012:20:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5642, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10035: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": "10035:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "10012:33:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5645, - "nodeType": "ExpressionStatement", - "src": "10012:33:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5651, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5646, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5625, - "src": "10055:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5648, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "creationDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 4774, - "src": "10055:18:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5649, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "10076:5:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 5650, - "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": 5652, - "nodeType": "ExpressionStatement", - "src": "10055:36:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5653, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5625, - "src": "10101:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5655, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 4792, - "src": "10101:15:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 5656, - "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": 5658, - "nodeType": "ExpressionStatement", - "src": "10101:23:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5659, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "10134:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5661, - "indexExpression": { - "argumentTypes": null, - "id": 5660, - "name": "incrementIssueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4692, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5662, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5625, - "src": "10161:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "src": "10134:32:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5664, - "nodeType": "ExpressionStatement", - "src": "10134:32:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5670, - "name": "incrementIssueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4692, - "src": "10202:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5665, - "name": "myIssues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4740, - "src": "10176:8:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 5668, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5666, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10185:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5667, - "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": 5669, - "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": 5671, - "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": 5672, - "nodeType": "ExpressionStatement", - "src": "10176:43:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5676, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10284:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5677, - "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": 5680, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "10304:4:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BEPRONetwork_$6434", - "typeString": "contract BEPRONetwork" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_BEPRONetwork_$6434", - "typeString": "contract BEPRONetwork" - } - ], - "id": 5679, - "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": 5678, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10296:7:8", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5681, - "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": 5682, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5619, - "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": 5674, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4686, - "src": "10260:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "id": 5675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 8261, - "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": 5683, - "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": 5684, - "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": 5673, - "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": 5685, - "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": 5686, - "nodeType": "ExpressionStatement", - "src": "10252:92:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5692, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5687, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4698, - "src": "10354:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5690, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5619, - "src": "10384:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5688, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4698, - "src": "10368:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5689, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7559, - "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": 5691, - "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": 5693, - "nodeType": "ExpressionStatement", - "src": "10354:43:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5698, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5694, - "name": "incrementIssueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4692, - "src": "10407:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5697, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5695, - "name": "incrementIssueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4692, - "src": "10426:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5696, - "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": 5699, - "nodeType": "ExpressionStatement", - "src": "10407:39:8" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5701, - "name": "incrementIssueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4692, - "src": "10471:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5702, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10489:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5703, - "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": 5704, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5619, - "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": 5700, - "name": "OpenIssue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4815, - "src": "10461:9:8", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (uint256,address,uint256)" - } - }, - "id": 5705, - "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": 5706, - "nodeType": "EmitStatement", - "src": "10456:58:8" - } - ] - }, - "documentation": "@dev open an Issue with bepro owned\n1st step", - "functionSelector": "b2bb95f5", - "id": 5708, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 5622, - "modifierName": { - "argumentTypes": null, - "id": 5621, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10724, - "src": "9858:13:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "9858:13:8" - } - ], - "name": "openIssue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5620, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5619, - "name": "_beproAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5708, - "src": "9829:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5618, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9829:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9828:22:8" - }, - "returnParameters": { - "id": 5623, - "nodeType": "ParameterList", - "parameters": [], - "src": "9872:0:8" - }, - "scope": 6434, - "src": "9810:711:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5769, - "nodeType": "Block", - "src": "10587:464:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5722, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5716, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "10605:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5718, - "indexExpression": { - "argumentTypes": null, - "id": 5717, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5710, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5719, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "issueGenerator", - "nodeType": "MemberAccess", - "referencedDeclaration": 4778, - "src": "10605:31:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5720, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10640:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5721, - "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": 5723, - "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": 5715, - "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": 5724, - "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": 5725, - "nodeType": "ExpressionStatement", - "src": "10597:85:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5730, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "10700:26:8", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5728, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5710, - "src": "10717:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5727, - "name": "isIssueApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5513, - "src": "10701:15:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 5729, - "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": 5731, - "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": 5726, - "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": 5732, - "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": 5733, - "nodeType": "ExpressionStatement", - "src": "10692:67:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5738, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "10777:28:8", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5736, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5710, - "src": "10796:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5735, - "name": "isIssueApprovable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5491, - "src": "10778:17:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 5737, - "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": 5739, - "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": 5734, - "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": 5740, - "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": 5741, - "nodeType": "ExpressionStatement", - "src": "10769:84:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5747, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5742, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "10863:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5744, - "indexExpression": { - "argumentTypes": null, - "id": 5743, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5710, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5745, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 4792, - "src": "10863:26:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5746, - "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": 5748, - "nodeType": "ExpressionStatement", - "src": "10863:33:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5754, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5749, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "10906:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5751, - "indexExpression": { - "argumentTypes": null, - "id": 5750, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5710, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5752, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "canceled", - "nodeType": "MemberAccess", - "referencedDeclaration": 4794, - "src": "10906:25:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5753, - "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": 5755, - "nodeType": "ExpressionStatement", - "src": "10906:32:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5759, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10976:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5760, - "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": 5761, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "10988:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5763, - "indexExpression": { - "argumentTypes": null, - "id": 5762, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5710, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5764, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4776, - "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": 5757, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4686, - "src": "10956:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "id": 5758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 8232, - "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": 5765, - "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": 5766, - "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": 5756, - "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": 5767, - "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": 5768, - "nodeType": "ExpressionStatement", - "src": "10948:96:8" - } - ] - }, - "documentation": null, - "functionSelector": "202996fb", - "id": 5770, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 5713, - "modifierName": { - "argumentTypes": null, - "id": 5712, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10724, - "src": "10573:13:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "10573:13:8" - } - ], - "name": "redeemIssue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5711, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5710, - "name": "_issueId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5770, - "src": "10548:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5709, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10548:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10547:18:8" - }, - "returnParameters": { - "id": 5714, - "nodeType": "ParameterList", - "parameters": [], - "src": "10587:0:8" - }, - "scope": 6434, - "src": "10527:524:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5878, - "nodeType": "Block", - "src": "11233:894:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5785, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5780, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "11251:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5782, - "indexExpression": { - "argumentTypes": null, - "id": 5781, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5772, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5783, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4776, - "src": "11251:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5784, - "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": 5786, - "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": 5779, - "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": 5787, - "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": 5788, - "nodeType": "ExpressionStatement", - "src": "11243:64:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5796, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5790, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "11325:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5792, - "indexExpression": { - "argumentTypes": null, - "id": 5791, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5772, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5793, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "issueGenerator", - "nodeType": "MemberAccess", - "referencedDeclaration": 4778, - "src": "11325:31:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5794, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11360:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5795, - "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": 5797, - "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": 5789, - "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": 5798, - "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": 5799, - "nodeType": "ExpressionStatement", - "src": "11317:85:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "11420:26:8", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5802, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5772, - "src": "11437:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5801, - "name": "isIssueApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5513, - "src": "11421:15:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 5803, - "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": 5805, - "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": 5800, - "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": 5806, - "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": 5807, - "nodeType": "ExpressionStatement", - "src": "11412:64:8" - }, - { - "assignments": [ - 5809 - ], - "declarations": [ - { - "constant": false, - "id": 5809, - "name": "previousAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5878, - "src": "11487:22:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5808, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11487:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5814, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5810, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "11512:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5812, - "indexExpression": { - "argumentTypes": null, - "id": 5811, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5772, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5813, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4776, - "src": "11512:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11487:53:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5820, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5815, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "11574:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5817, - "indexExpression": { - "argumentTypes": null, - "id": 5816, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5772, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5818, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4776, - "src": "11574:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5819, - "name": "_newbeproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5774, - "src": "11605:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11574:46:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5821, - "nodeType": "ExpressionStatement", - "src": "11574:46:8" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5824, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5822, - "name": "_newbeproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5774, - "src": "11656:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 5823, - "name": "previousAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5809, - "src": "11674:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11656:32:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 5876, - "nodeType": "Block", - "src": "11913:208:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5856, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11955:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5857, - "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": 5860, - "name": "_newbeproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5774, - "src": "11986:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5858, - "name": "previousAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5809, - "src": "11967:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5859, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7580, - "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": 5861, - "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": 5854, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4686, - "src": "11935:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "id": 5855, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 8232, - "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": 5862, - "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": 5863, - "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": 5853, - "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": 5864, - "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": 5865, - "nodeType": "ExpressionStatement", - "src": "11927:103:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5874, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5866, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4698, - "src": "12044:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5871, - "name": "_newbeproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5774, - "src": "12093:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5869, - "name": "previousAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5809, - "src": "12074:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5870, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7580, - "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": 5872, - "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": 5867, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4698, - "src": "12058:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5868, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7580, - "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": 5873, - "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": 5875, - "nodeType": "ExpressionStatement", - "src": "12044:66:8" - } - ] - }, - "id": 5877, - "nodeType": "IfStatement", - "src": "11653:468:8", - "trueBody": { - "id": 5852, - "nodeType": "Block", - "src": "11689:220:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5828, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11735:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5829, - "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": 5832, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "11755:4:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BEPRONetwork_$6434", - "typeString": "contract BEPRONetwork" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_BEPRONetwork_$6434", - "typeString": "contract BEPRONetwork" - } - ], - "id": 5831, - "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": 5830, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11747:7:8", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5833, - "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": 5836, - "name": "previousAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5809, - "src": "11782:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5834, - "name": "_newbeproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5774, - "src": "11762:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5835, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7580, - "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": 5837, - "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": 5826, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4686, - "src": "11711:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "id": 5827, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 8261, - "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": 5838, - "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": 5839, - "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": 5825, - "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": 5840, - "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": 5841, - "nodeType": "ExpressionStatement", - "src": "11703:115:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5850, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5842, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4698, - "src": "11832:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5847, - "name": "previousAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5809, - "src": "11882:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5845, - "name": "_newbeproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5774, - "src": "11862:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5846, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7580, - "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": 5848, - "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": 5843, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4698, - "src": "11846:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5844, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7559, - "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": 5849, - "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": 5851, - "nodeType": "ExpressionStatement", - "src": "11832:66:8" - } - ] - } - } - ] - }, - "documentation": "@dev update an Issue with bepro owned\n2nd step (optional)", - "functionSelector": "05563309", - "id": 5879, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 5777, - "modifierName": { - "argumentTypes": null, - "id": 5776, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10724, - "src": "11219:13:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "11219:13:8" - } - ], - "name": "updateIssue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5775, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5772, - "name": "_issueId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5879, - "src": "11169:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5771, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11169:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5774, - "name": "_newbeproAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5879, - "src": "11187:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5773, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11187:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11168:43:8" - }, - "returnParameters": { - "id": 5778, - "nodeType": "ParameterList", - "parameters": [], - "src": "11233:0:8" - }, - "scope": 6434, - "src": "11148:979:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6071, - "nodeType": "Block", - "src": "12483:1486:8", - "statements": [ - { - "assignments": [ - 5893 - ], - "declarations": [ - { - "constant": false, - "id": 5893, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6071, - "src": "12502:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue" - }, - "typeName": { - "contractScope": null, - "id": 5892, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4795, - "src": "12502:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_storage_ptr", - "typeString": "struct BEPRONetwork.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5897, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5894, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "12523:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5896, - "indexExpression": { - "argumentTypes": null, - "id": 5895, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5881, - "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_$4795_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": 5902, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5899, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5893, - "src": "12557:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5900, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 4772, - "src": "12557:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5901, - "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": 5903, - "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": 5898, - "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": 5904, - "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": 5905, - "nodeType": "ExpressionStatement", - "src": "12549:46:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5910, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5907, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5893, - "src": "12613:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5908, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 4792, - "src": "12613:15:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 5909, - "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": 5911, - "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": 5906, - "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": 5912, - "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": 5913, - "nodeType": "ExpressionStatement", - "src": "12605:59:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5919, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5915, - "name": "_prAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5887, - "src": "12682:10:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 5916, - "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": 5917, - "name": "_prAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5884, - "src": "12703:12:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 5918, - "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": 5920, - "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": 5914, - "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": 5921, - "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": 5922, - "nodeType": "ExpressionStatement", - "src": "12674:90:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5934, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5926, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "12803:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5927, - "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": 5924, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4686, - "src": "12782:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "id": 5925, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 8223, - "src": "12782:20:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 5928, - "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": 5933, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5929, - "name": "COUNCIL_BEPRO_AMOUNT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4725, - "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": 5932, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 5930, - "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": 5931, - "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": 5935, - "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": 5923, - "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": 5936, - "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": 5937, - "nodeType": "ExpressionStatement", - "src": "12774:148:8" - }, - { - "assignments": [ - 5939 - ], - "declarations": [ - { - "constant": false, - "id": 5939, - "name": "mergeProposal", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6071, - "src": "12933:34:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - }, - "typeName": { - "contractScope": null, - "id": 5938, - "name": "MergeProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4770, - "src": "12933:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5940, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "12933:34:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5946, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5941, - "name": "mergeProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5939, - "src": "12977:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 5943, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 4749, - "src": "12977:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5944, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5893, - "src": "12997:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5945, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 4790, - "src": "12997:22:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12977:42:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5947, - "nodeType": "ExpressionStatement", - "src": "12977:42:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5952, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5948, - "name": "mergeProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5939, - "src": "13029:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 5950, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "prAmounts", - "nodeType": "MemberAccess", - "referencedDeclaration": 4767, - "src": "13029:23:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5951, - "name": "_prAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5887, - "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": 5953, - "nodeType": "ExpressionStatement", - "src": "13029:36:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5958, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5954, - "name": "mergeProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5939, - "src": "13075:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 5956, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "prAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 4764, - "src": "13075:25:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5957, - "name": "_prAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5884, - "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": 5959, - "nodeType": "ExpressionStatement", - "src": "13075:40:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5965, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5960, - "name": "mergeProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5939, - "src": "13125:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 5962, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "proposalAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 4769, - "src": "13125:29:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5963, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13157:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5964, - "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": 5966, - "nodeType": "ExpressionStatement", - "src": "13125:42:8" - }, - { - "assignments": [ - 5968 - ], - "declarations": [ - { - "constant": false, - "id": 5968, - "name": "total", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6071, - "src": "13178:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5967, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13178:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5982, - "initialValue": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5980, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5977, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5969, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "13196:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5971, - "indexExpression": { - "argumentTypes": null, - "id": 5970, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5881, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5972, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4776, - "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": 5975, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5973, - "name": "feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4704, - "src": "13228:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 5974, - "name": "mergeCreatorFeeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4707, - "src": "13239:20:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13228:31:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5976, - "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": 5978, - "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": 5979, - "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": 5981, - "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": 6029, - "nodeType": "Block", - "src": "13355:289:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6006, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5997, - "name": "_prAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5884, - "src": "13398:12:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 5999, - "indexExpression": { - "argumentTypes": null, - "id": 5998, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5984, - "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": 5995, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4686, - "src": "13377:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "id": 5996, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 8223, - "src": "13377:20:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6000, - "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": 6005, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6001, - "name": "DEVELOPER_BEPRO_AMOUNT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4731, - "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": 6004, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 6002, - "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": 6003, - "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": 6007, - "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": 5994, - "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": 6008, - "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": 6009, - "nodeType": "ExpressionStatement", - "src": "13369:172:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6027, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6010, - "name": "total", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5968, - "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": 6025, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6022, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6013, - "name": "_prAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5887, - "src": "13574:10:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 6015, - "indexExpression": { - "argumentTypes": null, - "id": 6014, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5984, - "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": 6020, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6018, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 6016, - "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": 6017, - "name": "feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4704, - "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": 6019, - "name": "mergeCreatorFeeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4707, - "src": "13604:20:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13591:33:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6021, - "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": 6023, - "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": 6024, - "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": 6011, - "name": "total", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5968, - "src": "13563:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6012, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7559, - "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": 6026, - "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": 6028, - "nodeType": "ExpressionStatement", - "src": "13555:78:8" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5987, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5984, - "src": "13326:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5988, - "name": "_prAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5884, - "src": "13330:12:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 5989, - "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": 6030, - "initializationExpression": { - "assignments": [ - 5984 - ], - "declarations": [ - { - "constant": false, - "id": 5984, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6030, - "src": "13314:6:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5983, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "13314:4:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5986, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 5985, - "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": 5992, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "13351:3:8", - "subExpression": { - "argumentTypes": null, - "id": 5991, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5984, - "src": "13351:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5993, - "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": 6037, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6032, - "name": "total", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5968, - "src": "13662:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6033, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "13671:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6035, - "indexExpression": { - "argumentTypes": null, - "id": 6034, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5881, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6036, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4776, - "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": 6038, - "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": 6031, - "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": 6039, - "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": 6040, - "nodeType": "ExpressionStatement", - "src": "13654:67:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6049, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6041, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "13732:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6043, - "indexExpression": { - "argumentTypes": null, - "id": 6042, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5881, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6044, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 4788, - "src": "13732:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$4770_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 6047, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6045, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5893, - "src": "13764:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6046, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 4790, - "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_$4770_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6048, - "name": "mergeProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5939, - "src": "13790:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "src": "13732:71:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 6050, - "nodeType": "ExpressionStatement", - "src": "13732:71:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6061, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6051, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "13813:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6053, - "indexExpression": { - "argumentTypes": null, - "id": 6052, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5881, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6054, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 4790, - "src": "13813:33:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6060, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6055, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "13849:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6057, - "indexExpression": { - "argumentTypes": null, - "id": 6056, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5881, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6058, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 4790, - "src": "13849:33:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 6059, - "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": 6062, - "nodeType": "ExpressionStatement", - "src": "13813:73:8" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6064, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5881, - "src": "13922:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6065, - "name": "mergeProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5939, - "src": "13932:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6066, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 4749, - "src": "13932:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6067, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13951:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6068, - "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": 6063, - "name": "MergeProposalCreated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4831, - "src": "13901:20:8", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,uint256,address)" - } - }, - "id": 6069, - "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": 6070, - "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": 6072, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 5890, - "modifierName": { - "argumentTypes": null, - "id": 5889, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10724, - "src": "12469:13:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "12469:13:8" - } - ], - "name": "proposeIssueMerge", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5888, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5881, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6072, - "src": "12384:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5880, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12384:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5884, - "name": "_prAddresses", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6072, - "src": "12402:29:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 5882, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12402:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5883, - "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": 5887, - "name": "_prAmounts", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6072, - "src": "12433:27:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 5885, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12433:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5886, - "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": 5891, - "nodeType": "ParameterList", - "parameters": [], - "src": "12483:0:8" - }, - "scope": 6434, - "src": "12357:1612:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6257, - "nodeType": "Block", - "src": "14239:1502:8", - "statements": [ - { - "assignments": [ - 6082 - ], - "declarations": [ - { - "constant": false, - "id": 6082, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6257, - "src": "14249:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue" - }, - "typeName": { - "contractScope": null, - "id": 6081, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4795, - "src": "14249:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_storage_ptr", - "typeString": "struct BEPRONetwork.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6086, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6083, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "14270:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6085, - "indexExpression": { - "argumentTypes": null, - "id": 6084, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6074, - "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_$4795_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": 6091, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6088, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6082, - "src": "14304:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6089, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 4772, - "src": "14304:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6090, - "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": 6092, - "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": 6087, - "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": 6093, - "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": 6094, - "nodeType": "ExpressionStatement", - "src": "14296:46:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6099, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6096, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6082, - "src": "14360:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6097, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 4792, - "src": "14360:15:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 6098, - "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": 6100, - "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": 6095, - "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": 6101, - "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": 6102, - "nodeType": "ExpressionStatement", - "src": "14352:59:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6107, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6104, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6082, - "src": "14429:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6105, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 4790, - "src": "14429:22:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 6106, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6076, - "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": 6108, - "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": 6103, - "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": 6109, - "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": 6110, - "nodeType": "ExpressionStatement", - "src": "14421:76:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6113, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6074, - "src": "14531:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6114, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6076, - "src": "14541:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6112, - "name": "isMergeApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5567, - "src": "14515:15:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256,uint256) returns (bool)" - } - }, - "id": 6115, - "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": 6116, - "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": 6111, - "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": 6117, - "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": 6118, - "nodeType": "ExpressionStatement", - "src": "14507:79:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6124, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "14604:36:8", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6121, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6074, - "src": "14621:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6122, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6076, - "src": "14631:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6120, - "name": "isMergeDisputed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5540, - "src": "14605:15:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256,uint256) returns (bool)" - } - }, - "id": 6123, - "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": 6125, - "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": 6119, - "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": 6126, - "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": 6127, - "nodeType": "ExpressionStatement", - "src": "14596:72:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6130, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6074, - "src": "14713:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6131, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6076, - "src": "14723:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6129, - "name": "isMergeTheOneWithMoreVotes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5617, - "src": "14686:26:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256,uint256) returns (bool)" - } - }, - "id": 6132, - "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": 6133, - "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": 6128, - "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": 6134, - "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": 6135, - "nodeType": "ExpressionStatement", - "src": "14678:100:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6141, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6136, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "14817:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6138, - "indexExpression": { - "argumentTypes": null, - "id": 6137, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6074, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6139, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 4792, - "src": "14817:26:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 6140, - "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": 6142, - "nodeType": "ExpressionStatement", - "src": "14817:33:8" - }, - { - "assignments": [ - 6144 - ], - "declarations": [ - { - "constant": false, - "id": 6144, - "name": "merge", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6257, - "src": "14860:26:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - }, - "typeName": { - "contractScope": null, - "id": 6143, - "name": "MergeProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4770, - "src": "14860:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6151, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6145, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "14889:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6147, - "indexExpression": { - "argumentTypes": null, - "id": 6146, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6074, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6148, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 4788, - "src": "14889:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$4770_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 6150, - "indexExpression": { - "argumentTypes": null, - "id": 6149, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6076, - "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_$4770_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14860:70:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6155, - "name": "feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4701, - "src": "14993:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6156, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "15006:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6158, - "indexExpression": { - "argumentTypes": null, - "id": 6157, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6074, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6159, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4776, - "src": "15006:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 6160, - "name": "feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4704, - "src": "15037:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15006:39:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6162, - "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": 6163, - "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": 6153, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4686, - "src": "14973:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "id": 6154, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 8232, - "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": 6165, - "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": 6166, - "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": 6152, - "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": 6167, - "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": 6168, - "nodeType": "ExpressionStatement", - "src": "14965:108:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6172, - "name": "feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4701, - "src": "15146:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6181, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6178, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6173, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "15159:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6175, - "indexExpression": { - "argumentTypes": null, - "id": 6174, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6074, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6176, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4776, - "src": "15159:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 6177, - "name": "mergeCreatorFeeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4707, - "src": "15190:20:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15159:51:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6179, - "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": 6180, - "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": 6170, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4686, - "src": "15126:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "id": 6171, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 8232, - "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": 6182, - "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": 6183, - "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": 6169, - "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": 6184, - "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": 6185, - "nodeType": "ExpressionStatement", - "src": "15118:120:8" - }, - { - "body": { - "id": 6233, - "nodeType": "Block", - "src": "15345:219:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6205, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6074, - "src": "15395:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6198, - "name": "myIssues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4740, - "src": "15359:8:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 6203, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6199, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6144, - "src": "15368:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6200, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 4764, - "src": "15368:17:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "id": 6202, - "indexExpression": { - "argumentTypes": null, - "id": 6201, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6187, - "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": 6204, - "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": 6206, - "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": 6207, - "nodeType": "ExpressionStatement", - "src": "15359:45:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6211, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6144, - "src": "15446:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6212, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 4764, - "src": "15446:17:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "id": 6214, - "indexExpression": { - "argumentTypes": null, - "id": 6213, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6187, - "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": 6228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6225, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6215, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6144, - "src": "15469:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6216, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAmounts", - "nodeType": "MemberAccess", - "referencedDeclaration": 4767, - "src": "15469:15:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "id": 6218, - "indexExpression": { - "argumentTypes": null, - "id": 6217, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6187, - "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": 6223, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6221, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 6219, - "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": 6220, - "name": "feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4704, - "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": 6222, - "name": "mergeCreatorFeeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4707, - "src": "15504:20:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15491:33:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6224, - "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": 6226, - "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": 6227, - "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": 6209, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4686, - "src": "15426:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "id": 6210, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 8232, - "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": 6229, - "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": 6230, - "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": 6208, - "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": 6231, - "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": 6232, - "nodeType": "ExpressionStatement", - "src": "15418:135:8" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6194, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6190, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6187, - "src": "15311:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6191, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6144, - "src": "15315:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6192, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 4764, - "src": "15315:17:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "id": 6193, - "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": 6234, - "initializationExpression": { - "assignments": [ - 6187 - ], - "declarations": [ - { - "constant": false, - "id": 6187, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6234, - "src": "15299:6:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6186, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "15299:4:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6189, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 6188, - "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": 6196, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "15341:3:8", - "subExpression": { - "argumentTypes": null, - "id": 6195, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6187, - "src": "15341:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6197, - "nodeType": "ExpressionStatement", - "src": "15341:3:8" - }, - "nodeType": "ForStatement", - "src": "15295:269:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6235, - "name": "closedIdsCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4695, - "src": "15574:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 6238, - "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": 6236, - "name": "closedIdsCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4695, - "src": "15591:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6237, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7559, - "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": 6239, - "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": 6241, - "nodeType": "ExpressionStatement", - "src": "15574:38:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6242, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4698, - "src": "15622:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6245, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6082, - "src": "15652:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6246, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4776, - "src": "15652:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6243, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4698, - "src": "15636:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6244, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7580, - "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": 6247, - "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": 6249, - "nodeType": "ExpressionStatement", - "src": "15622:48:8" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6251, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6074, - "src": "15696:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6252, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6076, - "src": "15706:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6253, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6144, - "src": "15716:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6254, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 4764, - "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": 6250, - "name": "CloseIssue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4860, - "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": 6255, - "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": 6256, - "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": 6258, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6079, - "modifierName": { - "argumentTypes": null, - "id": 6078, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10724, - "src": "14225:13:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "14225:13:8" - } - ], - "name": "closeIssue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6077, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6074, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6258, - "src": "14182:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6073, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14182:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6076, - "name": "_mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6258, - "src": "14200:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6075, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14200:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14181:36:8" - }, - "returnParameters": { - "id": 6080, - "nodeType": "ParameterList", - "parameters": [], - "src": "14239:0:8" - }, - "scope": 6434, - "src": "14162:1579:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6270, - "nodeType": "Block", - "src": "15826:42:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6266, - "name": "myIssues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4740, - "src": "15843:8:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 6268, - "indexExpression": { - "argumentTypes": null, - "id": 6267, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6260, - "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": 6265, - "id": 6269, - "nodeType": "Return", - "src": "15836:25:8" - } - ] - }, - "documentation": null, - "functionSelector": "5d795bd2", - "id": 6271, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getIssuesByAddress", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6261, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6260, - "name": "_address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6271, - "src": "15775:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6259, - "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": 6265, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6264, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6271, - "src": "15809:16:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 6262, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15809:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6263, - "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": 6434, - "src": "15747:121:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6293, - "nodeType": "Block", - "src": "15943:136:8", - "statements": [ - { - "assignments": [ - 6279 - ], - "declarations": [ - { - "constant": false, - "id": 6279, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6293, - "src": "15953:19:8", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - }, - "typeName": { - "contractScope": null, - "id": 6278, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4807, - "src": "15953:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6283, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6280, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "15975:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 6282, - "indexExpression": { - "argumentTypes": null, - "id": 6281, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6273, - "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_$4807_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": 6287, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6279, - "src": "16041:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 6288, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 4801, - "src": "16041:20:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 6290, - "indexExpression": { - "argumentTypes": null, - "id": 6289, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6273, - "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": 6284, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6279, - "src": "16008:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 6285, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegatedByOthers", - "nodeType": "MemberAccess", - "referencedDeclaration": 4797, - "src": "16008:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7559, - "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": 6291, - "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": 6277, - "id": 6292, - "nodeType": "Return", - "src": "16001:71:8" - } - ] - }, - "documentation": null, - "functionSelector": "1e63c0a5", - "id": 6294, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getVotesByAddress", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6274, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6273, - "name": "_address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6294, - "src": "15901:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6272, - "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": 6277, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6276, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6294, - "src": "15935:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6275, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15935:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15934:9:8" - }, - "scope": 6434, - "src": "15874:205:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6339, - "nodeType": "Block", - "src": "16210:223:8", - "statements": [ - { - "assignments": [ - 6316 - ], - "declarations": [ - { - "constant": false, - "id": 6316, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6339, - "src": "16220:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue" - }, - "typeName": { - "contractScope": null, - "id": 6315, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4795, - "src": "16220:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_storage_ptr", - "typeString": "struct BEPRONetwork.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6320, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6317, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "16241:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6319, - "indexExpression": { - "argumentTypes": null, - "id": 6318, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6296, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16220:37:8" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6321, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6316, - "src": "16275:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6322, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 4772, - "src": "16275:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6323, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6316, - "src": "16286:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6324, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4776, - "src": "16286:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6325, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6316, - "src": "16305:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6326, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "creationDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 4774, - "src": "16305:18:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6327, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6316, - "src": "16325:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6328, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "issueGenerator", - "nodeType": "MemberAccess", - "referencedDeclaration": 4778, - "src": "16325:20:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6329, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6316, - "src": "16347:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6330, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForApprove", - "nodeType": "MemberAccess", - "referencedDeclaration": 4784, - "src": "16347:21:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6331, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6316, - "src": "16370:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6332, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 4790, - "src": "16370:22:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6333, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6316, - "src": "16394:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6334, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 4792, - "src": "16394:15:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6335, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6316, - "src": "16411:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6336, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "canceled", - "nodeType": "MemberAccess", - "referencedDeclaration": 4794, - "src": "16411:14:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 6337, - "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": 6314, - "id": 6338, - "nodeType": "Return", - "src": "16267:159:8" - } - ] - }, - "documentation": null, - "functionSelector": "c98244d0", - "id": 6340, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getIssueById", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6297, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6296, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6340, - "src": "16111:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6295, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16111:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16110:18:8" - }, - "returnParameters": { - "id": 6314, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6299, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6340, - "src": "16145:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6298, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16145:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6301, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6340, - "src": "16154:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6300, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16154:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6303, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6340, - "src": "16163:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6302, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16163:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6305, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6340, - "src": "16172:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6304, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16172:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6307, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6340, - "src": "16181:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6306, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16181:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6309, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6340, - "src": "16190:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6308, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16190:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6311, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6340, - "src": "16199:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6310, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "16199:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6313, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6340, - "src": "16205:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6312, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "16205:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16144:66:8" - }, - "scope": 6434, - "src": "16089:344:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6384, - "nodeType": "Block", - "src": "16584:203:8", - "statements": [ - { - "assignments": [ - 6362 - ], - "declarations": [ - { - "constant": false, - "id": 6362, - "name": "merge", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6384, - "src": "16594:26:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - }, - "typeName": { - "contractScope": null, - "id": 6361, - "name": "MergeProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4770, - "src": "16594:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6369, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6363, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "16623:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6365, - "indexExpression": { - "argumentTypes": null, - "id": 6364, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6342, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6366, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 4788, - "src": "16623:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$4770_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 6368, - "indexExpression": { - "argumentTypes": null, - "id": 6367, - "name": "_mergeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6344, - "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_$4770_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16594:70:8" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6370, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6362, - "src": "16682:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6371, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 4749, - "src": "16682:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6372, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6362, - "src": "16693:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6373, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 4759, - "src": "16693:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6374, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6362, - "src": "16706:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6375, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "disputes", - "nodeType": "MemberAccess", - "referencedDeclaration": 4761, - "src": "16706:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6376, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6362, - "src": "16722:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6377, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 4764, - "src": "16722:17:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6378, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6362, - "src": "16741:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6379, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAmounts", - "nodeType": "MemberAccess", - "referencedDeclaration": 4767, - "src": "16741:15:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6380, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6362, - "src": "16758:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6381, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "proposalAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 4769, - "src": "16758:21:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 6382, - "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": 6360, - "id": 6383, - "nodeType": "Return", - "src": "16674:106:8" - } - ] - }, - "documentation": null, - "functionSelector": "6106e4eb", - "id": 6385, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getMergeById", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6345, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6342, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6385, - "src": "16461:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6341, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16461:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6344, - "name": "_mergeId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6385, - "src": "16479:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6343, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16479:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16460:36:8" - }, - "returnParameters": { - "id": 6360, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6347, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6385, - "src": "16513:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6346, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16513:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6349, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6385, - "src": "16522:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6348, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16522:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6351, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6385, - "src": "16531:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6350, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16531:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6354, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6385, - "src": "16540:16:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 6352, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16540:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6353, - "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": 6357, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6385, - "src": "16558:16:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 6355, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16558:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6356, - "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": 6359, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6385, - "src": "16576:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6358, - "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": 6434, - "src": "16439:348:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6398, - "nodeType": "Block", - "src": "16924:50:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6392, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4686, - "src": "16934:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6394, - "name": "_newAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "16955:11:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6393, - "name": "_IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4677, - "src": "16947:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$__IERC20_$4677_$", - "typeString": "type(contract _IERC20)" - } - }, - "id": 6395, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16947:20:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "src": "16934:33:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "id": 6397, - "nodeType": "ExpressionStatement", - "src": "16934:33:8" - } - ] - }, - "documentation": "@dev Change BEPRO Token Address (Upgrade)", - "functionSelector": "5ac203cf", - "id": 6399, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6390, - "modifierName": { - "argumentTypes": null, - "id": 6389, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7294, - "src": "16914:9:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "16914:9:8" - } - ], - "name": "changeBEPROAddress", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6388, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6387, - "name": "_newAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6399, - "src": "16886:19:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6386, - "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": 6391, - "nodeType": "ParameterList", - "parameters": [], - "src": "16924:0:8" - }, - "scope": 6434, - "src": "16858:116:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6410, - "nodeType": "Block", - "src": "17088:41:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6408, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6406, - "name": "feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4701, - "src": "17098:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6407, - "name": "_newAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6401, - "src": "17111:11:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "17098:24:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6409, - "nodeType": "ExpressionStatement", - "src": "17098:24:8" - } - ] - }, - "documentation": "@dev Change Fee Address", - "functionSelector": "70c9c791", - "id": 6411, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6404, - "modifierName": { - "argumentTypes": null, - "id": 6403, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7294, - "src": "17078:9:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17078:9:8" - } - ], - "name": "editFeeAddress", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6402, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6401, - "name": "_newAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6411, - "src": "17050:19:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6400, - "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": 6405, - "nodeType": "ParameterList", - "parameters": [], - "src": "17088:0:8" - }, - "scope": 6434, - "src": "17026:103:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6422, - "nodeType": "Block", - "src": "17244:37:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6420, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6418, - "name": "feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4704, - "src": "17254:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6419, - "name": "_feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6413, - "src": "17265:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17254:20:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6421, - "nodeType": "ExpressionStatement", - "src": "17254:20:8" - } - ] - }, - "documentation": "@dev Change Share Fee Amount", - "functionSelector": "88632e28", - "id": 6423, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6416, - "modifierName": { - "argumentTypes": null, - "id": 6415, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7294, - "src": "17234:9:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17234:9:8" - } - ], - "name": "editFeeShare", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6414, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6413, - "name": "_feeShare", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6423, - "src": "17208:17:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6412, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17208:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17207:19:8" - }, - "returnParameters": { - "id": 6417, - "nodeType": "ParameterList", - "parameters": [], - "src": "17244:0:8" - }, - "scope": 6434, - "src": "17186:95:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6432, - "nodeType": "Block", - "src": "17415:28:8", - "statements": [] - }, - "documentation": "@dev Upgrade Contract Version", - "functionSelector": "eb2c0223", - "id": 6433, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6428, - "modifierName": { - "argumentTypes": null, - "id": 6427, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7294, - "src": "17394:9:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17394:9:8" - }, - { - "arguments": null, - "id": 6430, - "modifierName": { - "argumentTypes": null, - "id": 6429, - "name": "whenPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10734, - "src": "17404:10:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17404:10:8" - } - ], - "name": "upgradeContract", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6426, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6425, - "name": "_newContract", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6433, - "src": "17365:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6424, - "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": 6431, - "nodeType": "ParameterList", - "parameters": [], - "src": "17415:0:8" - }, - "scope": 6434, - "src": "17340:103:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - } - ], - "scope": 6435, - "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-05-21T10:54:57.470Z", - "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 59f6aa02..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:13;;342:214:0;;-1:-1:-1;342:214:0;-1:-1:-1;489:5:0;;496:7;;2032:13:13;;:5;;:13;;;;:::i;:::-;-1:-1:-1;2055:17:13;;;;:7;;:17;;;;;:::i;:::-;-1:-1:-1;;2082:9:13;:14;;2094:2;-1:-1:-1;;2082:14:13;;;;-1:-1:-1;;;;;;508:18:9;2082:14:13;516:10:9;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:13;-1:-1:-1;;;;;7915:21:13;;7907:65;;;;;-1:-1:-1;;;7907:65:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;7983:49;8012:1;8016:7;8025:6;-1:-1:-1;;;;;7983:20:13;:49;:::i;:::-;8058:24;8075:6;8058:12;;:16;;;;;;:24;;;;:::i;:::-;8043:12;:39;-1:-1:-1;;;;;8113:18:13;;:9;:18;;;;;;;;;;;;:30;;8136:6;;8113:22;;;;;:30;;:::i;:::-;-1:-1:-1;;;;;8092:18:13;;:9;:18;;;;;;;;;;;:51;;;;8158:37;;;;;;;8092:18;;:9;;8158:37;;;;;;;;;;7832:370;;:::o;10701:92::-;;;;:::o;2690:175:12:-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;;-1:-1:-1;;;2794:46:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;2857:1;2690:175;-1:-1:-1;;;2690:175:12: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:13;;;:::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:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4244:166;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;4244:166:13;;;;;;;;:::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:13;;;;;;;;;;;;;;;;;:::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:13;;;;;;;;:::i;300:35:0:-;;;:::i;:::-;;;;-1:-1:-1;;;;;300:35:0;;;;;;;;;;;;;;3399:125:13;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3399:125:13;-1:-1:-1;;;;;3399:125:13;;:::i;239:20:9:-;;;:::i;2370:93:13:-;;;:::i;6291:266::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;6291:266:13;;;;;;;;:::i;3727:172::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3727:172:13;;;;;;;;:::i;3957:149::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3957:149:13;;;;;;;;;;:::i;864:188:9:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;864:188:9;-1:-1:-1;;;;;864:188:9;;:::i;:::-;;2168:89:13;2245:5;2238:12;;;;;;;;-1:-1:-1;;2238:12:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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:13;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:13;;;;;;:11;:19;;;;;;5096:12;:10;:12::i;:::-;-1:-1:-1;;;;;5076:33:13;;;;;;;;;;;;-1:-1:-1;5076:33:13;;;:89;;:37;:89;:::i;:::-;5045:8;:121::i;:::-;-1:-1:-1;5183:4:13;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:13;;;;;;;;;;;;;;;;;-1:-1:-1;5725:25:13;;;:34;;;;;;;;;;;:50;:38;:50;:::i;300:35:0:-;;;-1:-1:-1;;;;;300:35:0;;:::o;3399:125:13:-;-1:-1:-1;;;;;3499:18:13;3473:7;3499:18;;;;;;;;;;;;3399:125::o;239:20:9:-;;;;;;-1:-1:-1;;;;;239:20:9;;:::o;2370:93:13:-;2449:7;2442:14;;;;;;;;-1:-1:-1;;2442:14:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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:13;;;;;;;;;;;;;;;;;-1:-1:-1;6432:25:13;;;: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:13;;;4046:7;4072:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3957:149::o;864:188:9:-;672:5;;;;;-1:-1:-1;;;;;672:5:9;658:10;:19;650:28;;;;;;-1:-1:-1;;;;;944:22:9;::::1;936:31;;;::::0;::::1;;1003:5;::::0;982:37:::1;::::0;-1:-1:-1;;;;;982:37:9;;::::1;::::0;1003:5:::1;::::0;::::1;;::::0;982:37:::1;::::0;;;::::1;1029:5;:16:::0;;-1:-1:-1;;;;;1029:16:9;;::::1;;;-1:-1:-1::0;;;;;;1029:16:9;;::::1;::::0;;;::::1;::::0;;864:188::o;598:104:21:-;685:10;598:104;:::o;9355:340:13:-;-1:-1:-1;;;;;9456:19:13;;9448:68;;;;-1:-1:-1;;;9448:68:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9534:21:13;;9526:68;;;;-1:-1:-1;;;9526:68:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9605:18:13;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9656:32;;;;;;;;;;;;;;;;;9355:340;;;:::o;7031:530::-;-1:-1:-1;;;;;7136:20:13;;7128:70;;;;-1:-1:-1;;;7128:70:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7216:23:13;;7208:71;;;;-1:-1:-1;;;7208:71:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7290:47;7311:6;7319:9;7330:6;7290:20;:47::i;:::-;7368:71;7390:6;7368:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7368:17:13;;:9;:17;;;;;;;;;;;;:71;;:21;:71;:::i;:::-;-1:-1:-1;;;;;7348:17:13;;;:9;:17;;;;;;;;;;;:91;;;;7472:20;;;;;;;:32;;7497:6;7472:32;:24;:32;:::i;:::-;-1:-1:-1;;;;;7449:20:13;;;:9;:20;;;;;;;;;;;;:55;;;;7519:35;;;;;;;7449:20;;7519:35;;;;;;;;;;;;;7031:530;;;:::o;5432:163:12:-;5518:7;5553:12;5545:6;;;;5537:29;;;;-1:-1:-1;;;5537:29:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5583:5:12;;;5432:163::o;2690:175::-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;;-1:-1:-1;;;2794:46:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;2857:1;2690:175;-1:-1:-1;;;2690:175:12:o;10701:92:13:-;;;;:::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": 8070, - "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": 7182, - "src": "82:29:0", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 4, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8069, - "src": "279:5:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "typeString": "contract ERC20" - } - }, - "id": 5, - "nodeType": "InheritanceSpecifier", - "src": "279:5:0" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 6, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7181, - "src": "286:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$7181", - "typeString": "contract Ownable" - } - }, - "id": 7, - "nodeType": "InheritanceSpecifier", - "src": "286:7:0" - } - ], - "contractDependencies": [ - 7181, - 8069, - 8138, - 9528 - ], - "contractKind": "contract", - "documentation": "@title Capped token\n@dev Mintable token with a token cap.", - "fullyImplemented": true, - "id": 31, - "linearizedBaseContracts": [ - 31, - 7181, - 8069, - 8138, - 9528 - ], - "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": 7949, - "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": 8069, - "src": "483:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$8069_$", - "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, - 7181, - 8069, - 8138, - 9528 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 52, - "linearizedBaseContracts": [ - 52, - 31, - 7181, - 8069, - 8138, - 9528 - ], - "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": 8070, - "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": 7182, - "src": "82:29:0", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 4, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8069, - "src": "279:5:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "typeString": "contract ERC20" - } - }, - "id": 5, - "nodeType": "InheritanceSpecifier", - "src": "279:5:0" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 6, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7181, - "src": "286:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$7181", - "typeString": "contract Ownable" - } - }, - "id": 7, - "nodeType": "InheritanceSpecifier", - "src": "286:7:0" - } - ], - "contractDependencies": [ - 7181, - 8069, - 8138, - 9528 - ], - "contractKind": "contract", - "documentation": "@title Capped token\n@dev Mintable token with a token cap.", - "fullyImplemented": true, - "id": 31, - "linearizedBaseContracts": [ - 31, - 7181, - 8069, - 8138, - 9528 - ], - "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": 7949, - "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": 8069, - "src": "483:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$8069_$", - "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, - 7181, - 8069, - 8138, - 9528 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 52, - "linearizedBaseContracts": [ - 52, - 31, - 7181, - 8069, - 8138, - 9528 - ], - "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-05-11T16:04:02.403Z", - "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 27e8edc9..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": [ - 9528 - ] - }, - "id": 9529, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 9507, - "literals": [ - "solidity", - ">=", - "0.6", - ".0", - "<", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:31:21" - }, - { - "abstract": true, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 9528, - "linearizedBaseContracts": [ - 9528 - ], - "name": "Context", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 9515, - "nodeType": "Block", - "src": "668:34:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9512, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "685:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 9513, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "685:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "functionReturnParameters": 9511, - "id": 9514, - "nodeType": "Return", - "src": "678:17:21" - } - ] - }, - "documentation": null, - "id": 9516, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_msgSender", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9508, - "nodeType": "ParameterList", - "parameters": [], - "src": "617:2:21" - }, - "returnParameters": { - "id": 9511, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9510, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9516, - "src": "651:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "id": 9509, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "651:15:21", - "stateMutability": "payable", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "650:17:21" - }, - "scope": 9528, - "src": "598:104:21", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 9526, - "nodeType": "Block", - "src": "773:165:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 9521, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "783:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Context_$9528", - "typeString": "contract Context" - } - }, - "id": 9522, - "nodeType": "ExpressionStatement", - "src": "783:4:21" - }, - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9523, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "923:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 9524, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "data", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "923:8:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "functionReturnParameters": 9520, - "id": 9525, - "nodeType": "Return", - "src": "916:15:21" - } - ] - }, - "documentation": null, - "id": 9527, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_msgData", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9517, - "nodeType": "ParameterList", - "parameters": [], - "src": "725:2:21" - }, - "returnParameters": { - "id": 9520, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9519, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9527, - "src": "759:12:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9518, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "759:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "758:14:21" - }, - "scope": 9528, - "src": "708:230:21", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - } - ], - "scope": 9529, - "src": "566:374:21" - } - ], - "src": "33:908:21" - }, - "legacyAST": { - "absolutePath": "@openzeppelin/contracts/utils/Context.sol", - "exportedSymbols": { - "Context": [ - 9528 - ] - }, - "id": 9529, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 9507, - "literals": [ - "solidity", - ">=", - "0.6", - ".0", - "<", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:31:21" - }, - { - "abstract": true, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 9528, - "linearizedBaseContracts": [ - 9528 - ], - "name": "Context", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 9515, - "nodeType": "Block", - "src": "668:34:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9512, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "685:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 9513, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "685:10:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "functionReturnParameters": 9511, - "id": 9514, - "nodeType": "Return", - "src": "678:17:21" - } - ] - }, - "documentation": null, - "id": 9516, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_msgSender", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9508, - "nodeType": "ParameterList", - "parameters": [], - "src": "617:2:21" - }, - "returnParameters": { - "id": 9511, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9510, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9516, - "src": "651:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "id": 9509, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "651:15:21", - "stateMutability": "payable", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "650:17:21" - }, - "scope": 9528, - "src": "598:104:21", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 9526, - "nodeType": "Block", - "src": "773:165:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 9521, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "783:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Context_$9528", - "typeString": "contract Context" - } - }, - "id": 9522, - "nodeType": "ExpressionStatement", - "src": "783:4:21" - }, - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9523, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "923:3:21", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 9524, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "data", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "923:8:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "functionReturnParameters": 9520, - "id": 9525, - "nodeType": "Return", - "src": "916:15:21" - } - ] - }, - "documentation": null, - "id": 9527, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_msgData", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9517, - "nodeType": "ParameterList", - "parameters": [], - "src": "725:2:21" - }, - "returnParameters": { - "id": 9520, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9519, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9527, - "src": "759:12:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9518, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "759:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "758:14:21" - }, - "scope": 9528, - "src": "708:230:21", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - } - ], - "scope": 9529, - "src": "566:374:21" - } - ], - "src": "33:908:21" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.20", - "updatedAt": "2021-05-11T16:04:02.526Z", - "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 b5512bea..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": [ - 7234 - ] - }, - "id": 7235, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 7183, - "literals": [ - "solidity", - ">=", - "0.6", - ".0", - "<", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:31:10" - }, - { - "absolutePath": "@openzeppelin/contracts/introspection/IERC165.sol", - "file": "./IERC165.sol", - "id": 7184, - "nodeType": "ImportDirective", - "scope": 7235, - "sourceUnit": 7245, - "src": "66:23:10", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": true, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 7185, - "name": "IERC165", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7244, - "src": "291:7:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC165_$7244", - "typeString": "contract IERC165" - } - }, - "id": 7186, - "nodeType": "InheritanceSpecifier", - "src": "291:7:10" - } - ], - "contractDependencies": [ - 7244 - ], - "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": 7234, - "linearizedBaseContracts": [ - 7234, - 7244 - ], - "name": "ERC165", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 7189, - "name": "_INTERFACE_ID_ERC165", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7234, - "src": "388:57:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 7187, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "388:6:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783031666663396137", - "id": 7188, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "435:10:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_33540519_by_1", - "typeString": "int_const 33540519" - }, - "value": "0x01ffc9a7" - }, - "visibility": "private" - }, - { - "constant": false, - "id": 7193, - "name": "_supportedInterfaces", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7234, - "src": "539:52:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes4_$_t_bool_$", - "typeString": "mapping(bytes4 => bool)" - }, - "typeName": { - "id": 7192, - "keyType": { - "id": 7190, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "547:6:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "Mapping", - "src": "539:23:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes4_$_t_bool_$", - "typeString": "mapping(bytes4 => bool)" - }, - "valueType": { - "id": 7191, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "557:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "private" - }, - { - "body": { - "id": 7200, - "nodeType": "Block", - "src": "622:193:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7197, - "name": "_INTERFACE_ID_ERC165", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7189, - "src": "787:20:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "id": 7196, - "name": "_registerInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7233, - "src": "768:18:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes4_$returns$__$", - "typeString": "function (bytes4)" - } - }, - "id": 7198, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "768:40:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7199, - "nodeType": "ExpressionStatement", - "src": "768:40:10" - } - ] - }, - "documentation": null, - "id": 7201, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7194, - "nodeType": "ParameterList", - "parameters": [], - "src": "610:2:10" - }, - "returnParameters": { - "id": 7195, - "nodeType": "ParameterList", - "parameters": [], - "src": "622:0:10" - }, - "scope": 7234, - "src": "598:217:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "baseFunctions": [ - 7243 - ], - "body": { - "id": 7213, - "nodeType": "Block", - "src": "1056:57:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7209, - "name": "_supportedInterfaces", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7193, - "src": "1073:20:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes4_$_t_bool_$", - "typeString": "mapping(bytes4 => bool)" - } - }, - "id": 7211, - "indexExpression": { - "argumentTypes": null, - "id": 7210, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7203, - "src": "1094:11:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1073:33:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 7208, - "id": 7212, - "nodeType": "Return", - "src": "1066:40:10" - } - ] - }, - "documentation": "@dev See {IERC165-supportsInterface}.\n * Time complexity O(1), guaranteed to always use less than 30 000 gas.", - "functionSelector": "01ffc9a7", - "id": 7214, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "supportsInterface", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 7205, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "1032:8:10" - }, - "parameters": { - "id": 7204, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7203, - "name": "interfaceId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7214, - "src": "992:18:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 7202, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "992:6:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "991:20:10" - }, - "returnParameters": { - "id": 7208, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7207, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7214, - "src": "1050:4:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7206, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1050:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1049:6:10" - }, - "scope": 7234, - "src": "965:148:10", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 7232, - "nodeType": "Block", - "src": "1572:133:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 7222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7220, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7216, - "src": "1590:11:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30786666666666666666", - "id": 7221, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1605:10:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4294967295_by_1", - "typeString": "int_const 4294967295" - }, - "value": "0xffffffff" - }, - "src": "1590:25:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433136353a20696e76616c696420696e74657266616365206964", - "id": 7223, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1617:30:10", - "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": 7219, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1582:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1582:66:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7225, - "nodeType": "ExpressionStatement", - "src": "1582:66:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 7230, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7226, - "name": "_supportedInterfaces", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7193, - "src": "1658:20:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes4_$_t_bool_$", - "typeString": "mapping(bytes4 => bool)" - } - }, - "id": 7228, - "indexExpression": { - "argumentTypes": null, - "id": 7227, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7216, - "src": "1679:11:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1658:33:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7229, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1694:4:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "1658:40:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 7231, - "nodeType": "ExpressionStatement", - "src": "1658:40:10" - } - ] - }, - "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": 7233, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_registerInterface", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7217, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7216, - "name": "interfaceId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7233, - "src": "1535:18:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 7215, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "1535:6:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1534:20:10" - }, - "returnParameters": { - "id": 7218, - "nodeType": "ParameterList", - "parameters": [], - "src": "1572:0:10" - }, - "scope": 7234, - "src": "1507:198:10", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - } - ], - "scope": 7235, - "src": "263:1444:10" - } - ], - "src": "33:1675:10" - }, - "legacyAST": { - "absolutePath": "@openzeppelin/contracts/introspection/ERC165.sol", - "exportedSymbols": { - "ERC165": [ - 7234 - ] - }, - "id": 7235, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 7183, - "literals": [ - "solidity", - ">=", - "0.6", - ".0", - "<", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:31:10" - }, - { - "absolutePath": "@openzeppelin/contracts/introspection/IERC165.sol", - "file": "./IERC165.sol", - "id": 7184, - "nodeType": "ImportDirective", - "scope": 7235, - "sourceUnit": 7245, - "src": "66:23:10", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": true, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 7185, - "name": "IERC165", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7244, - "src": "291:7:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC165_$7244", - "typeString": "contract IERC165" - } - }, - "id": 7186, - "nodeType": "InheritanceSpecifier", - "src": "291:7:10" - } - ], - "contractDependencies": [ - 7244 - ], - "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": 7234, - "linearizedBaseContracts": [ - 7234, - 7244 - ], - "name": "ERC165", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 7189, - "name": "_INTERFACE_ID_ERC165", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7234, - "src": "388:57:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 7187, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "388:6:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783031666663396137", - "id": 7188, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "435:10:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_33540519_by_1", - "typeString": "int_const 33540519" - }, - "value": "0x01ffc9a7" - }, - "visibility": "private" - }, - { - "constant": false, - "id": 7193, - "name": "_supportedInterfaces", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7234, - "src": "539:52:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes4_$_t_bool_$", - "typeString": "mapping(bytes4 => bool)" - }, - "typeName": { - "id": 7192, - "keyType": { - "id": 7190, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "547:6:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "Mapping", - "src": "539:23:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes4_$_t_bool_$", - "typeString": "mapping(bytes4 => bool)" - }, - "valueType": { - "id": 7191, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "557:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "private" - }, - { - "body": { - "id": 7200, - "nodeType": "Block", - "src": "622:193:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7197, - "name": "_INTERFACE_ID_ERC165", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7189, - "src": "787:20:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "id": 7196, - "name": "_registerInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7233, - "src": "768:18:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes4_$returns$__$", - "typeString": "function (bytes4)" - } - }, - "id": 7198, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "768:40:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7199, - "nodeType": "ExpressionStatement", - "src": "768:40:10" - } - ] - }, - "documentation": null, - "id": 7201, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7194, - "nodeType": "ParameterList", - "parameters": [], - "src": "610:2:10" - }, - "returnParameters": { - "id": 7195, - "nodeType": "ParameterList", - "parameters": [], - "src": "622:0:10" - }, - "scope": 7234, - "src": "598:217:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "baseFunctions": [ - 7243 - ], - "body": { - "id": 7213, - "nodeType": "Block", - "src": "1056:57:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7209, - "name": "_supportedInterfaces", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7193, - "src": "1073:20:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes4_$_t_bool_$", - "typeString": "mapping(bytes4 => bool)" - } - }, - "id": 7211, - "indexExpression": { - "argumentTypes": null, - "id": 7210, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7203, - "src": "1094:11:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1073:33:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 7208, - "id": 7212, - "nodeType": "Return", - "src": "1066:40:10" - } - ] - }, - "documentation": "@dev See {IERC165-supportsInterface}.\n * Time complexity O(1), guaranteed to always use less than 30 000 gas.", - "functionSelector": "01ffc9a7", - "id": 7214, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "supportsInterface", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 7205, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "1032:8:10" - }, - "parameters": { - "id": 7204, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7203, - "name": "interfaceId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7214, - "src": "992:18:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 7202, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "992:6:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "991:20:10" - }, - "returnParameters": { - "id": 7208, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7207, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7214, - "src": "1050:4:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7206, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1050:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1049:6:10" - }, - "scope": 7234, - "src": "965:148:10", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 7232, - "nodeType": "Block", - "src": "1572:133:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 7222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7220, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7216, - "src": "1590:11:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30786666666666666666", - "id": 7221, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1605:10:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4294967295_by_1", - "typeString": "int_const 4294967295" - }, - "value": "0xffffffff" - }, - "src": "1590:25:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433136353a20696e76616c696420696e74657266616365206964", - "id": 7223, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1617:30:10", - "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": 7219, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1582:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1582:66:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7225, - "nodeType": "ExpressionStatement", - "src": "1582:66:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 7230, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7226, - "name": "_supportedInterfaces", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7193, - "src": "1658:20:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes4_$_t_bool_$", - "typeString": "mapping(bytes4 => bool)" - } - }, - "id": 7228, - "indexExpression": { - "argumentTypes": null, - "id": 7227, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7216, - "src": "1679:11:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1658:33:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7229, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1694:4:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "1658:40:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 7231, - "nodeType": "ExpressionStatement", - "src": "1658:40:10" - } - ] - }, - "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": 7233, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_registerInterface", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7217, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7216, - "name": "interfaceId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7233, - "src": "1535:18:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 7215, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "1535:6:10", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1534:20:10" - }, - "returnParameters": { - "id": 7218, - "nodeType": "ParameterList", - "parameters": [], - "src": "1572:0:10" - }, - "scope": 7234, - "src": "1507:198:10", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - } - ], - "scope": 7235, - "src": "263:1444:10" - } - ], - "src": "33:1675:10" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.20", - "updatedAt": "2021-05-11T16:04:02.511Z", - "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 81b304cf..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:13:-:0;;;1958:145;8:9:-1;5:2;;;30:1;27;20:12;5:2;1958:145:13;;;;;;;;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1958:145:13;;;;;;;;;;;;;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:13;;420:4:-1;411:14;;;;1958:145:13;;;;;411:14:-1;1958:145: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;1958:145:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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:13;;420:4:-1;411:14;;;;1958:145:13;;;;;411:14:-1;1958:145: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;1958:145:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1958:145:13;;-1:-1:-1;;2032:13:13;;;;-1:-1:-1;2032:5:13;;:13;;;;;:::i;:::-;-1:-1:-1;2055:17:13;;;;:7;;:17;;;;;:::i;:::-;-1:-1:-1;;2082:9:13;:14;;-1:-1:-1;;2082:14:13;2094:2;2082:14;;;-1:-1:-1;1321:9474:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1321:9474:13;;;-1:-1:-1;1321:9474:13;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", - "deployedSourceMap": "1321:9474:13:-:0;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1321:9474:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4244:166;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;4244:166:13;;;;;;;;:::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:13;;;;;;;;;;;;;;;;;:::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:13;;;;;;;;:::i;3399:125::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3399:125:13;-1:-1:-1;;;;;3399:125:13;;:::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:13;;;;;;;;:::i;3727:172::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3727:172:13;;;;;;;;:::i;3957:149::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3957:149:13;;;;;;;;;;:::i;2168:89::-;2245:5;2238:12;;;;;;;;-1:-1:-1;;2238:12:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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:13;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:13;;;;;;:11;:19;;;;;;5096:12;:10;:12::i;:::-;-1:-1:-1;;;;;5076:33:13;;;;;;;;;;;;-1:-1:-1;5076:33:13;;;:89;;:37;:89;:::i;:::-;5045:8;:121::i;:::-;-1:-1:-1;5183:4:13;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:13;;;;;;;;;;;;;;;;;-1:-1:-1;5725:25:13;;;:34;;;;;;;;;;;:50;:38;:50;:::i;3399:125::-;-1:-1:-1;;;;;3499:18:13;3473:7;3499:18;;;;;;;;;;;;3399:125::o;2370:93::-;2449:7;2442:14;;;;;;;;-1:-1:-1;;2442:14:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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:13;;;;;;;;;;;;;;;;;-1:-1:-1;6432:25:13;;;: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:13;;;4046:7;4072:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3957:149::o;598:104:21:-;685:10;598:104;:::o;9355:340:13:-;-1:-1:-1;;;;;9456:19:13;;9448:68;;;;-1:-1:-1;;;9448:68:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9534:21:13;;9526:68;;;;-1:-1:-1;;;9526:68:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9605:18:13;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9656:32;;;;;;;;;;;;;;;;;9355:340;;;:::o;7031:530::-;-1:-1:-1;;;;;7136:20:13;;7128:70;;;;-1:-1:-1;;;7128:70:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7216:23:13;;7208:71;;;;-1:-1:-1;;;7208:71:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7290:47;7311:6;7319:9;7330:6;7290:20;:47::i;:::-;7368:71;7390:6;7368:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7368:17:13;;:9;:17;;;;;;;;;;;;:71;;:21;:71;:::i;:::-;-1:-1:-1;;;;;7348:17:13;;;:9;:17;;;;;;;;;;;:91;;;;7472:20;;;;;;;:32;;7497:6;7472:32;:24;:32;:::i;:::-;-1:-1:-1;;;;;7449:20:13;;;:9;:20;;;;;;;;;;;;:55;;;;7519:35;;;;;;;7449:20;;7519:35;;;;;;;;;;;;;7031:530;;;:::o;5432:163:12:-;5518:7;5553:12;5545:6;;;;5537:29;;;;-1:-1:-1;;;5537:29:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5583:5:12;;;5432:163::o;2690:175::-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;;-1:-1:-1;;;2794:46:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;2857:1;2690:175;-1:-1:-1;;;2690:175:12:o;10701:92:13:-;;;;:::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": [ - 8069 - ] - }, - "id": 8070, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 7587, - "literals": [ - "solidity", - ">=", - "0.6", - ".0", - "<", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:31:13" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Context.sol", - "file": "../../utils/Context.sol", - "id": 7588, - "nodeType": "ImportDirective", - "scope": 8070, - "sourceUnit": 9529, - "src": "66:33:13", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", - "file": "./IERC20.sol", - "id": 7589, - "nodeType": "ImportDirective", - "scope": 8070, - "sourceUnit": 8139, - "src": "100:22:13", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/math/SafeMath.sol", - "file": "../../math/SafeMath.sol", - "id": 7590, - "nodeType": "ImportDirective", - "scope": 8070, - "sourceUnit": 7586, - "src": "123:33:13", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 7591, - "name": "Context", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9528, - "src": "1339:7:13", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Context_$9528", - "typeString": "contract Context" - } - }, - "id": 7592, - "nodeType": "InheritanceSpecifier", - "src": "1339:7:13" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 7593, - "name": "IERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8138, - "src": "1348:6:13", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$8138", - "typeString": "contract IERC20" - } - }, - "id": 7594, - "nodeType": "InheritanceSpecifier", - "src": "1348:6:13" - } - ], - "contractDependencies": [ - 8138, - 9528 - ], - "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": 8069, - "linearizedBaseContracts": [ - 8069, - 8138, - 9528 - ], - "name": "ERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 7597, - "libraryName": { - "contractScope": null, - "id": 7595, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7585, - "src": "1367:8:13", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$7585", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "1361:27:13", - "typeName": { - "id": 7596, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1380:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "id": 7601, - "name": "_balances", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8069, - "src": "1394:46:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 7600, - "keyType": { - "id": 7598, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1403:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1394:28:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 7599, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1414:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 7607, - "name": "_allowances", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8069, - "src": "1447:69:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "typeName": { - "id": 7606, - "keyType": { - "id": 7602, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1456:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1447:49:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "valueType": { - "id": 7605, - "keyType": { - "id": 7603, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1476:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1467:28:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 7604, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1487:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 7609, - "name": "_totalSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8069, - "src": "1523:28:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7608, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1523:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 7611, - "name": "_name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8069, - "src": "1558:20:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 7610, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1558:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 7613, - "name": "_symbol", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8069, - "src": "1584:22:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 7612, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1584:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 7615, - "name": "_decimals", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8069, - "src": "1612:23:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 7614, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "1612:5:13", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "private" - }, - { - "body": { - "id": 7634, - "nodeType": "Block", - "src": "2022:81:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7622, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7611, - "src": "2032:5:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 7623, - "name": "name_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7617, - "src": "2040:5:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "2032:13:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 7625, - "nodeType": "ExpressionStatement", - "src": "2032:13:13" - }, - { - "expression": { - "argumentTypes": null, - "id": 7628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7626, - "name": "_symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7613, - "src": "2055:7:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 7627, - "name": "symbol_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7619, - "src": "2065:7:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "2055:17:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 7629, - "nodeType": "ExpressionStatement", - "src": "2055:17:13" - }, - { - "expression": { - "argumentTypes": null, - "id": 7632, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7630, - "name": "_decimals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7615, - "src": "2082:9:13", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "3138", - "id": 7631, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2094:2:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "src": "2082:14:13", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 7633, - "nodeType": "ExpressionStatement", - "src": "2082:14:13" - } - ] - }, - "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": 7635, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7620, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7617, - "name": "name_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7635, - "src": "1971:19:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7616, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1971:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7619, - "name": "symbol_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7635, - "src": "1992:21:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7618, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1992:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1970:44:13" - }, - "returnParameters": { - "id": 7621, - "nodeType": "ParameterList", - "parameters": [], - "src": "2022:0:13" - }, - "scope": 8069, - "src": "1958:145:13", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7642, - "nodeType": "Block", - "src": "2228:29:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7640, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7611, - "src": "2245:5:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "functionReturnParameters": 7639, - "id": 7641, - "nodeType": "Return", - "src": "2238:12:13" - } - ] - }, - "documentation": "@dev Returns the name of the token.", - "functionSelector": "06fdde03", - "id": 7643, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7636, - "nodeType": "ParameterList", - "parameters": [], - "src": "2181:2:13" - }, - "returnParameters": { - "id": 7639, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7638, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7643, - "src": "2213:13:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7637, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2213:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2212:15:13" - }, - "scope": 8069, - "src": "2168:89:13", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 7650, - "nodeType": "Block", - "src": "2432:31:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7648, - "name": "_symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7613, - "src": "2449:7:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "functionReturnParameters": 7647, - "id": 7649, - "nodeType": "Return", - "src": "2442:14:13" - } - ] - }, - "documentation": "@dev Returns the symbol of the token, usually a shorter version of the\nname.", - "functionSelector": "95d89b41", - "id": 7651, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7644, - "nodeType": "ParameterList", - "parameters": [], - "src": "2385:2:13" - }, - "returnParameters": { - "id": 7647, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7646, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7651, - "src": "2417:13:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7645, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2417:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2416:15:13" - }, - "scope": 8069, - "src": "2370:93:13", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 7658, - "nodeType": "Block", - "src": "3142:33:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7656, - "name": "_decimals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7615, - "src": "3159:9:13", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "functionReturnParameters": 7655, - "id": 7657, - "nodeType": "Return", - "src": "3152:16:13" - } - ] - }, - "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": 7659, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7652, - "nodeType": "ParameterList", - "parameters": [], - "src": "3103:2:13" - }, - "returnParameters": { - "id": 7655, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7654, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7659, - "src": "3135:5:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 7653, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "3135:5:13", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3134:7:13" - }, - "scope": 8069, - "src": "3086:89:13", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 8076 - ], - "body": { - "id": 7667, - "nodeType": "Block", - "src": "3305:36:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7665, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7609, - "src": "3322:12:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7664, - "id": 7666, - "nodeType": "Return", - "src": "3315:19:13" - } - ] - }, - "documentation": "@dev See {IERC20-totalSupply}.", - "functionSelector": "18160ddd", - "id": 7668, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 7661, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3278:8:13" - }, - "parameters": { - "id": 7660, - "nodeType": "ParameterList", - "parameters": [], - "src": "3255:2:13" - }, - "returnParameters": { - "id": 7664, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7663, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7668, - "src": "3296:7:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7662, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3296:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3295:9:13" - }, - "scope": 8069, - "src": "3235:106:13", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 8083 - ], - "body": { - "id": 7680, - "nodeType": "Block", - "src": "3482:42:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7676, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7601, - "src": "3499:9:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7678, - "indexExpression": { - "argumentTypes": null, - "id": 7677, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7670, - "src": "3509:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3499:18:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7675, - "id": 7679, - "nodeType": "Return", - "src": "3492:25:13" - } - ] - }, - "documentation": "@dev See {IERC20-balanceOf}.", - "functionSelector": "70a08231", - "id": 7681, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 7672, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3455:8:13" - }, - "parameters": { - "id": 7671, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7670, - "name": "account", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7681, - "src": "3418:15:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7669, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3418:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3417:17:13" - }, - "returnParameters": { - "id": 7675, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7674, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7681, - "src": "3473:7:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7673, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3473:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3472:9:13" - }, - "scope": 8069, - "src": "3399:125:13", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 8092 - ], - "body": { - "id": 7700, - "nodeType": "Block", - "src": "3819:80:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 7692, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9516, - "src": "3839:10:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 7693, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3839:12:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7694, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7683, - "src": "3853:9:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7695, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7685, - "src": "3864:6:13", - "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": 7691, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7895, - "src": "3829:9:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 7696, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3829:42:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7697, - "nodeType": "ExpressionStatement", - "src": "3829:42:13" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7698, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3888:4:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 7690, - "id": 7699, - "nodeType": "Return", - "src": "3881:11:13" - } - ] - }, - "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": 7701, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 7687, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3795:8:13" - }, - "parameters": { - "id": 7686, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7683, - "name": "recipient", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7701, - "src": "3745:17:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7682, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3745:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7685, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7701, - "src": "3764:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7684, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3764:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3744:35:13" - }, - "returnParameters": { - "id": 7690, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7689, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7701, - "src": "3813:4:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7688, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3813:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3812:6:13" - }, - "scope": 8069, - "src": "3727:172:13", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 8101 - ], - "body": { - "id": 7717, - "nodeType": "Block", - "src": "4055:51:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7711, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7607, - "src": "4072:11:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 7713, - "indexExpression": { - "argumentTypes": null, - "id": 7712, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7703, - "src": "4084:5:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4072:18:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7715, - "indexExpression": { - "argumentTypes": null, - "id": 7714, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7705, - "src": "4091:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4072:27:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7710, - "id": 7716, - "nodeType": "Return", - "src": "4065:34:13" - } - ] - }, - "documentation": "@dev See {IERC20-allowance}.", - "functionSelector": "dd62ed3e", - "id": 7718, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 7707, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4028:8:13" - }, - "parameters": { - "id": 7706, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7703, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7718, - "src": "3976:13:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7702, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3976:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7705, - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7718, - "src": "3991:15:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7704, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3991:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3975:32:13" - }, - "returnParameters": { - "id": 7710, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7709, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7718, - "src": "4046:7:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7708, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4046:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4045:9:13" - }, - "scope": 8069, - "src": "3957:149:13", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 8110 - ], - "body": { - "id": 7737, - "nodeType": "Block", - "src": "4333:77:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 7729, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9516, - "src": "4352:10:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 7730, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4352:12:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7731, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7720, - "src": "4366:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7732, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7722, - "src": "4375:6:13", - "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": 7728, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8048, - "src": "4343:8:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 7733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4343:39:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7734, - "nodeType": "ExpressionStatement", - "src": "4343:39:13" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7735, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4399:4:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 7727, - "id": 7736, - "nodeType": "Return", - "src": "4392:11:13" - } - ] - }, - "documentation": "@dev See {IERC20-approve}.\n * Requirements:\n * - `spender` cannot be the zero address.", - "functionSelector": "095ea7b3", - "id": 7738, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 7724, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4309:8:13" - }, - "parameters": { - "id": 7723, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7720, - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7738, - "src": "4261:15:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7719, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4261:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7722, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7738, - "src": "4278:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7721, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4278:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4260:33:13" - }, - "returnParameters": { - "id": 7727, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7726, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7738, - "src": "4327:4:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7725, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4327:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4326:6:13" - }, - "scope": 8069, - "src": "4244:166:13", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 8121 - ], - "body": { - "id": 7774, - "nodeType": "Block", - "src": "4989:205:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7751, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7740, - "src": "5009:6:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7752, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7742, - "src": "5017:9:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7753, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7744, - "src": "5028:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7750, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7895, - "src": "4999:9:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 7754, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4999:36:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7755, - "nodeType": "ExpressionStatement", - "src": "4999:36:13" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7757, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7740, - "src": "5054:6:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 7758, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9516, - "src": "5062:10:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 7759, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5062:12:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7767, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7744, - "src": "5114:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365", - "id": 7768, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5122:42:13", - "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": 7760, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7607, - "src": "5076:11:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 7762, - "indexExpression": { - "argumentTypes": null, - "id": 7761, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7740, - "src": "5088:6:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5076:19:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7765, - "indexExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 7763, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9516, - "src": "5096:10:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 7764, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5096:12:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5076:33:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7538, - "src": "5076:37:13", - "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": 7769, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5076:89:13", - "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": 7756, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8048, - "src": "5045:8:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 7770, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5045:121:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7771, - "nodeType": "ExpressionStatement", - "src": "5045:121:13" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7772, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5183:4:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 7749, - "id": 7773, - "nodeType": "Return", - "src": "5176:11:13" - } - ] - }, - "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": 7775, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 7746, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4965:8:13" - }, - "parameters": { - "id": 7745, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7740, - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7775, - "src": "4899:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7739, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4899:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7742, - "name": "recipient", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7775, - "src": "4915:17:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7741, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4915:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7744, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7775, - "src": "4934:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7743, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4934:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4898:51:13" - }, - "returnParameters": { - "id": 7749, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7748, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7775, - "src": "4983:4:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7747, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4983:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4982:6:13" - }, - "scope": 8069, - "src": "4877:317:13", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 7801, - "nodeType": "Block", - "src": "5683:121:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 7785, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9516, - "src": "5702:10:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 7786, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5702:12:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7787, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7777, - "src": "5716:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7795, - "name": "addedValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7779, - "src": "5764:10:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7788, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7607, - "src": "5725:11:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 7791, - "indexExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 7789, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9516, - "src": "5737:10:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 7790, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5737:12:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5725:25:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7793, - "indexExpression": { - "argumentTypes": null, - "id": 7792, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7777, - "src": "5751:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5725:34:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7794, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7419, - "src": "5725:38:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7796, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5725:50:13", - "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": 7784, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8048, - "src": "5693:8:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 7797, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5693:83:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7798, - "nodeType": "ExpressionStatement", - "src": "5693:83:13" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7799, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5793:4:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 7783, - "id": 7800, - "nodeType": "Return", - "src": "5786:11:13" - } - ] - }, - "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": 7802, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "increaseAllowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7780, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7777, - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7802, - "src": "5616:15:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7776, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5616:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7779, - "name": "addedValue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7802, - "src": "5633:18:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7778, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5633:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5615:37:13" - }, - "returnParameters": { - "id": 7783, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7782, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7802, - "src": "5677:4:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7781, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5677:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5676:6:13" - }, - "scope": 8069, - "src": "5589:215:13", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 7829, - "nodeType": "Block", - "src": "6390:167:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 7812, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9516, - "src": "6409:10:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 7813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6409:12:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7814, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7804, - "src": "6423:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7822, - "name": "subtractedValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7806, - "src": "6471:15:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f", - "id": 7823, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6488:39:13", - "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": 7815, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7607, - "src": "6432:11:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 7818, - "indexExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 7816, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9516, - "src": "6444:10:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 7817, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6444:12:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6432:25:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7820, - "indexExpression": { - "argumentTypes": null, - "id": 7819, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7804, - "src": "6458:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6432:34:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7821, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7538, - "src": "6432:38:13", - "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": 7824, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6432:96:13", - "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": 7811, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8048, - "src": "6400:8:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 7825, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6400:129:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7826, - "nodeType": "ExpressionStatement", - "src": "6400:129:13" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7827, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6546:4:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 7810, - "id": 7828, - "nodeType": "Return", - "src": "6539:11:13" - } - ] - }, - "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": 7830, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "decreaseAllowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7807, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7804, - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7830, - "src": "6318:15:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7803, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6318:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7806, - "name": "subtractedValue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7830, - "src": "6335:23:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7805, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6335:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6317:42:13" - }, - "returnParameters": { - "id": 7810, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7809, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7830, - "src": "6384:4:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7808, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6384:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6383:6:13" - }, - "scope": 8069, - "src": "6291:266:13", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 7894, - "nodeType": "Block", - "src": "7118:443:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 7845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7840, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7832, - "src": "7136:6:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 7843, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7154:1:13", - "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": 7842, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7146:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 7841, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7146:7:13", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 7844, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7146:10:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "7136:20:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a207472616e736665722066726f6d20746865207a65726f2061646472657373", - "id": 7846, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7158:39:13", - "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": 7839, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7128:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7847, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7128:70:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7848, - "nodeType": "ExpressionStatement", - "src": "7128:70:13" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 7855, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7850, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7834, - "src": "7216:9:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 7853, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7237:1:13", - "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": 7852, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7229:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 7851, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7229:7:13", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 7854, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7229:10:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "7216:23:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a207472616e7366657220746f20746865207a65726f2061646472657373", - "id": 7856, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7241:37:13", - "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": 7849, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7208:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7857, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7208:71:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7858, - "nodeType": "ExpressionStatement", - "src": "7208:71:13" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7860, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7832, - "src": "7311:6:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7861, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7834, - "src": "7319:9:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7862, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7836, - "src": "7330:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7859, - "name": "_beforeTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8068, - "src": "7290:20:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 7863, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7290:47:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7864, - "nodeType": "ExpressionStatement", - "src": "7290:47:13" - }, - { - "expression": { - "argumentTypes": null, - "id": 7875, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7865, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7601, - "src": "7348:9:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7867, - "indexExpression": { - "argumentTypes": null, - "id": 7866, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7832, - "src": "7358:6:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7348:17:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7872, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7836, - "src": "7390:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365", - "id": 7873, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7398:40:13", - "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": 7868, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7601, - "src": "7368:9:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7870, - "indexExpression": { - "argumentTypes": null, - "id": 7869, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7832, - "src": "7378:6:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7368:17:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7871, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7538, - "src": "7368:21:13", - "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": 7874, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7368:71:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7348:91:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7876, - "nodeType": "ExpressionStatement", - "src": "7348:91:13" - }, - { - "expression": { - "argumentTypes": null, - "id": 7886, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7877, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7601, - "src": "7449:9:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7879, - "indexExpression": { - "argumentTypes": null, - "id": 7878, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7834, - "src": "7459:9:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7449:20:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7884, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7836, - "src": "7497:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7880, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7601, - "src": "7472:9:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7882, - "indexExpression": { - "argumentTypes": null, - "id": 7881, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7834, - "src": "7482:9:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7472:20:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7883, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7419, - "src": "7472:24:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7885, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7472:32:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7449:55:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7887, - "nodeType": "ExpressionStatement", - "src": "7449:55:13" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7889, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7832, - "src": "7528:6:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7890, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7834, - "src": "7536:9:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7891, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7836, - "src": "7547:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7888, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8129, - "src": "7519:8:13", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 7892, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7519:35:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7893, - "nodeType": "EmitStatement", - "src": "7514:40:13" - } - ] - }, - "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": 7895, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7837, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7832, - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7895, - "src": "7050:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7831, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7050:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7834, - "name": "recipient", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7895, - "src": "7066:17:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7833, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7066:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7836, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7895, - "src": "7085:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7835, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7085:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7049:51:13" - }, - "returnParameters": { - "id": 7838, - "nodeType": "ParameterList", - "parameters": [], - "src": "7118:0:13" - }, - "scope": 8069, - "src": "7031:530:13", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 7948, - "nodeType": "Block", - "src": "7897:305:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 7908, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7903, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7897, - "src": "7915:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 7906, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7934:1:13", - "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": 7905, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7926:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 7904, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7926:7:13", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 7907, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7926:10:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "7915:21:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a206d696e7420746f20746865207a65726f2061646472657373", - "id": 7909, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7938:33:13", - "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": 7902, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7907:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7910, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7907:65:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7911, - "nodeType": "ExpressionStatement", - "src": "7907:65:13" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 7915, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8012:1:13", - "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": 7914, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8004:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 7913, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8004:7:13", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 7916, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8004:10:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7917, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7897, - "src": "8016:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7918, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7899, - "src": "8025:6:13", - "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": 7912, - "name": "_beforeTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8068, - "src": "7983:20:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 7919, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7983:49:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7920, - "nodeType": "ExpressionStatement", - "src": "7983:49:13" - }, - { - "expression": { - "argumentTypes": null, - "id": 7926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7921, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7609, - "src": "8043:12:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7924, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7899, - "src": "8075:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7922, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7609, - "src": "8058:12:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7923, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7419, - "src": "8058:16:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7925, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8058:24:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8043:39:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7927, - "nodeType": "ExpressionStatement", - "src": "8043:39:13" - }, - { - "expression": { - "argumentTypes": null, - "id": 7937, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7928, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7601, - "src": "8092:9:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7930, - "indexExpression": { - "argumentTypes": null, - "id": 7929, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7897, - "src": "8102:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8092:18:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7935, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7899, - "src": "8136:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7931, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7601, - "src": "8113:9:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7933, - "indexExpression": { - "argumentTypes": null, - "id": 7932, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7897, - "src": "8123:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8113:18:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7934, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7419, - "src": "8113:22:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7936, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8113:30:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8092:51:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7938, - "nodeType": "ExpressionStatement", - "src": "8092:51:13" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 7942, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8175:1:13", - "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": 7941, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8167:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 7940, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8167:7:13", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 7943, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8167:10:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7944, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7897, - "src": "8179:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7945, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7899, - "src": "8188:6:13", - "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": 7939, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8129, - "src": "8158:8:13", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 7946, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8158:37:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7947, - "nodeType": "EmitStatement", - "src": "8153:42:13" - } - ] - }, - "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": 7949, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7900, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7897, - "name": "account", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7949, - "src": "7847:15:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7896, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7847:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7899, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7949, - "src": "7864:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7898, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7864:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7846:33:13" - }, - "returnParameters": { - "id": 7901, - "nodeType": "ParameterList", - "parameters": [], - "src": "7897:0:13" - }, - "scope": 8069, - "src": "7832:370:13", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 8003, - "nodeType": "Block", - "src": "8587:345:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 7962, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7957, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7951, - "src": "8605:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 7960, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8624:1:13", - "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": 7959, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8616:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 7958, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8616:7:13", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 7961, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8616:10:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "8605:21:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a206275726e2066726f6d20746865207a65726f2061646472657373", - "id": 7963, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8628:35:13", - "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": 7956, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "8597:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7964, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8597:67:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7965, - "nodeType": "ExpressionStatement", - "src": "8597:67:13" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7967, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7951, - "src": "8696:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 7970, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8713:1:13", - "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": 7969, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8705:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 7968, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8705:7:13", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 7971, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8705:10:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7972, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7953, - "src": "8717:6:13", - "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": 7966, - "name": "_beforeTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8068, - "src": "8675:20:13", - "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": "8675:49:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7974, - "nodeType": "ExpressionStatement", - "src": "8675:49:13" - }, - { - "expression": { - "argumentTypes": null, - "id": 7985, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7975, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7601, - "src": "8735:9:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7977, - "indexExpression": { - "argumentTypes": null, - "id": 7976, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7951, - "src": "8745:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8735:18:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7982, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7953, - "src": "8779:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a206275726e20616d6f756e7420657863656564732062616c616e6365", - "id": 7983, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8787:36:13", - "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": 7978, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7601, - "src": "8756:9:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7980, - "indexExpression": { - "argumentTypes": null, - "id": 7979, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7951, - "src": "8766:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8756:18:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7981, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7538, - "src": "8756:22:13", - "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": 7984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8756:68:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8735:89:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7986, - "nodeType": "ExpressionStatement", - "src": "8735:89:13" - }, - { - "expression": { - "argumentTypes": null, - "id": 7992, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7987, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7609, - "src": "8834:12:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7990, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7953, - "src": "8866:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7988, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7609, - "src": "8849:12:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7989, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7440, - "src": "8849:16:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7991, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8849:24:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8834:39:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7993, - "nodeType": "ExpressionStatement", - "src": "8834:39:13" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7995, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7951, - "src": "8897:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 7998, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8914:1:13", - "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": 7997, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8906:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 7996, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8906:7:13", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 7999, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8906:10:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 8000, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7953, - "src": "8918:6:13", - "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": 7994, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8129, - "src": "8888:8:13", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 8001, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8888:37:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8002, - "nodeType": "EmitStatement", - "src": "8883:42:13" - } - ] - }, - "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": 8004, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7954, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7951, - "name": "account", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8004, - "src": "8537:15:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7950, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8537:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7953, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8004, - "src": "8554:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7952, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8554:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8536:33:13" - }, - "returnParameters": { - "id": 7955, - "nodeType": "ParameterList", - "parameters": [], - "src": "8587:0:13" - }, - "scope": 8069, - "src": "8522:410:13", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 8047, - "nodeType": "Block", - "src": "9438:257:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 8019, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8014, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8006, - "src": "9456:5:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 8017, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9473:1:13", - "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": 8016, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9465:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 8015, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9465:7:13", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8018, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9465:10:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "9456:19:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373", - "id": 8020, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9477:38:13", - "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": 8013, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "9448:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8021, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9448:68:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8022, - "nodeType": "ExpressionStatement", - "src": "9448:68:13" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 8029, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8024, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8008, - "src": "9534:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 8027, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9553:1:13", - "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": 8026, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9545:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 8025, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9545:7:13", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8028, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9545:10:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "9534:21:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a20617070726f766520746f20746865207a65726f2061646472657373", - "id": 8030, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9557:36:13", - "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": 8023, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "9526:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8031, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9526:68:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8032, - "nodeType": "ExpressionStatement", - "src": "9526:68:13" - }, - { - "expression": { - "argumentTypes": null, - "id": 8039, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8033, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7607, - "src": "9605:11:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 8036, - "indexExpression": { - "argumentTypes": null, - "id": 8034, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8006, - "src": "9617:5:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9605:18:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 8037, - "indexExpression": { - "argumentTypes": null, - "id": 8035, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8008, - "src": "9624:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9605:27:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8038, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8010, - "src": "9635:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9605:36:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8040, - "nodeType": "ExpressionStatement", - "src": "9605:36:13" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8042, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8006, - "src": "9665:5:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8043, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8008, - "src": "9672:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8044, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8010, - "src": "9681:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8041, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8137, - "src": "9656:8:13", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 8045, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9656:32:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8046, - "nodeType": "EmitStatement", - "src": "9651:37:13" - } - ] - }, - "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": 8048, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8011, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8006, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8048, - "src": "9373:13:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8005, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9373:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8008, - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8048, - "src": "9388:15:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8007, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9388:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8010, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8048, - "src": "9405:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8009, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9405:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9372:48:13" - }, - "returnParameters": { - "id": 8012, - "nodeType": "ParameterList", - "parameters": [], - "src": "9438:0:13" - }, - "scope": 8069, - "src": "9355:340:13", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 8057, - "nodeType": "Block", - "src": "10076:38:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 8055, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8053, - "name": "_decimals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7615, - "src": "10086:9:13", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8054, - "name": "decimals_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8050, - "src": "10098:9:13", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "10086:21:13", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 8056, - "nodeType": "ExpressionStatement", - "src": "10086:21:13" - } - ] - }, - "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": 8058, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_setupDecimals", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8051, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8050, - "name": "decimals_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8058, - "src": "10042:15:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 8049, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "10042:5:13", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10041:17:13" - }, - "returnParameters": { - "id": 8052, - "nodeType": "ParameterList", - "parameters": [], - "src": "10076:0:13" - }, - "scope": 8069, - "src": "10018:96:13", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 8067, - "nodeType": "Block", - "src": "10790:3:13", - "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": 8068, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_beforeTokenTransfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8065, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8060, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8068, - "src": "10731:12:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8059, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10731:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8062, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8068, - "src": "10745:10:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8061, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10745:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8064, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8068, - "src": "10757:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8063, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10757:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10730:42:13" - }, - "returnParameters": { - "id": 8066, - "nodeType": "ParameterList", - "parameters": [], - "src": "10790:0:13" - }, - "scope": 8069, - "src": "10701:92:13", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - } - ], - "scope": 8070, - "src": "1321:9474:13" - } - ], - "src": "33:10763:13" - }, - "legacyAST": { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "exportedSymbols": { - "ERC20": [ - 8069 - ] - }, - "id": 8070, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 7587, - "literals": [ - "solidity", - ">=", - "0.6", - ".0", - "<", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:31:13" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Context.sol", - "file": "../../utils/Context.sol", - "id": 7588, - "nodeType": "ImportDirective", - "scope": 8070, - "sourceUnit": 9529, - "src": "66:33:13", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", - "file": "./IERC20.sol", - "id": 7589, - "nodeType": "ImportDirective", - "scope": 8070, - "sourceUnit": 8139, - "src": "100:22:13", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/math/SafeMath.sol", - "file": "../../math/SafeMath.sol", - "id": 7590, - "nodeType": "ImportDirective", - "scope": 8070, - "sourceUnit": 7586, - "src": "123:33:13", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 7591, - "name": "Context", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9528, - "src": "1339:7:13", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Context_$9528", - "typeString": "contract Context" - } - }, - "id": 7592, - "nodeType": "InheritanceSpecifier", - "src": "1339:7:13" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 7593, - "name": "IERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8138, - "src": "1348:6:13", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$8138", - "typeString": "contract IERC20" - } - }, - "id": 7594, - "nodeType": "InheritanceSpecifier", - "src": "1348:6:13" - } - ], - "contractDependencies": [ - 8138, - 9528 - ], - "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": 8069, - "linearizedBaseContracts": [ - 8069, - 8138, - 9528 - ], - "name": "ERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 7597, - "libraryName": { - "contractScope": null, - "id": 7595, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7585, - "src": "1367:8:13", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$7585", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "1361:27:13", - "typeName": { - "id": 7596, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1380:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "id": 7601, - "name": "_balances", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8069, - "src": "1394:46:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 7600, - "keyType": { - "id": 7598, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1403:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1394:28:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 7599, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1414:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 7607, - "name": "_allowances", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8069, - "src": "1447:69:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "typeName": { - "id": 7606, - "keyType": { - "id": 7602, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1456:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1447:49:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "valueType": { - "id": 7605, - "keyType": { - "id": 7603, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1476:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1467:28:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 7604, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1487:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 7609, - "name": "_totalSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8069, - "src": "1523:28:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7608, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1523:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 7611, - "name": "_name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8069, - "src": "1558:20:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 7610, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1558:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 7613, - "name": "_symbol", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8069, - "src": "1584:22:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 7612, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1584:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 7615, - "name": "_decimals", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8069, - "src": "1612:23:13", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 7614, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "1612:5:13", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "private" - }, - { - "body": { - "id": 7634, - "nodeType": "Block", - "src": "2022:81:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7622, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7611, - "src": "2032:5:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 7623, - "name": "name_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7617, - "src": "2040:5:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "2032:13:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 7625, - "nodeType": "ExpressionStatement", - "src": "2032:13:13" - }, - { - "expression": { - "argumentTypes": null, - "id": 7628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7626, - "name": "_symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7613, - "src": "2055:7:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 7627, - "name": "symbol_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7619, - "src": "2065:7:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "2055:17:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 7629, - "nodeType": "ExpressionStatement", - "src": "2055:17:13" - }, - { - "expression": { - "argumentTypes": null, - "id": 7632, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7630, - "name": "_decimals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7615, - "src": "2082:9:13", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "3138", - "id": 7631, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2094:2:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "src": "2082:14:13", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 7633, - "nodeType": "ExpressionStatement", - "src": "2082:14:13" - } - ] - }, - "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": 7635, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7620, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7617, - "name": "name_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7635, - "src": "1971:19:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7616, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1971:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7619, - "name": "symbol_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7635, - "src": "1992:21:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7618, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1992:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1970:44:13" - }, - "returnParameters": { - "id": 7621, - "nodeType": "ParameterList", - "parameters": [], - "src": "2022:0:13" - }, - "scope": 8069, - "src": "1958:145:13", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7642, - "nodeType": "Block", - "src": "2228:29:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7640, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7611, - "src": "2245:5:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "functionReturnParameters": 7639, - "id": 7641, - "nodeType": "Return", - "src": "2238:12:13" - } - ] - }, - "documentation": "@dev Returns the name of the token.", - "functionSelector": "06fdde03", - "id": 7643, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7636, - "nodeType": "ParameterList", - "parameters": [], - "src": "2181:2:13" - }, - "returnParameters": { - "id": 7639, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7638, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7643, - "src": "2213:13:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7637, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2213:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2212:15:13" - }, - "scope": 8069, - "src": "2168:89:13", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 7650, - "nodeType": "Block", - "src": "2432:31:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7648, - "name": "_symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7613, - "src": "2449:7:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "functionReturnParameters": 7647, - "id": 7649, - "nodeType": "Return", - "src": "2442:14:13" - } - ] - }, - "documentation": "@dev Returns the symbol of the token, usually a shorter version of the\nname.", - "functionSelector": "95d89b41", - "id": 7651, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7644, - "nodeType": "ParameterList", - "parameters": [], - "src": "2385:2:13" - }, - "returnParameters": { - "id": 7647, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7646, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7651, - "src": "2417:13:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7645, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2417:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2416:15:13" - }, - "scope": 8069, - "src": "2370:93:13", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 7658, - "nodeType": "Block", - "src": "3142:33:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7656, - "name": "_decimals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7615, - "src": "3159:9:13", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "functionReturnParameters": 7655, - "id": 7657, - "nodeType": "Return", - "src": "3152:16:13" - } - ] - }, - "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": 7659, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7652, - "nodeType": "ParameterList", - "parameters": [], - "src": "3103:2:13" - }, - "returnParameters": { - "id": 7655, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7654, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7659, - "src": "3135:5:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 7653, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "3135:5:13", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3134:7:13" - }, - "scope": 8069, - "src": "3086:89:13", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 8076 - ], - "body": { - "id": 7667, - "nodeType": "Block", - "src": "3305:36:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7665, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7609, - "src": "3322:12:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7664, - "id": 7666, - "nodeType": "Return", - "src": "3315:19:13" - } - ] - }, - "documentation": "@dev See {IERC20-totalSupply}.", - "functionSelector": "18160ddd", - "id": 7668, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 7661, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3278:8:13" - }, - "parameters": { - "id": 7660, - "nodeType": "ParameterList", - "parameters": [], - "src": "3255:2:13" - }, - "returnParameters": { - "id": 7664, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7663, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7668, - "src": "3296:7:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7662, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3296:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3295:9:13" - }, - "scope": 8069, - "src": "3235:106:13", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 8083 - ], - "body": { - "id": 7680, - "nodeType": "Block", - "src": "3482:42:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7676, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7601, - "src": "3499:9:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7678, - "indexExpression": { - "argumentTypes": null, - "id": 7677, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7670, - "src": "3509:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3499:18:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7675, - "id": 7679, - "nodeType": "Return", - "src": "3492:25:13" - } - ] - }, - "documentation": "@dev See {IERC20-balanceOf}.", - "functionSelector": "70a08231", - "id": 7681, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 7672, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3455:8:13" - }, - "parameters": { - "id": 7671, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7670, - "name": "account", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7681, - "src": "3418:15:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7669, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3418:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3417:17:13" - }, - "returnParameters": { - "id": 7675, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7674, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7681, - "src": "3473:7:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7673, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3473:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3472:9:13" - }, - "scope": 8069, - "src": "3399:125:13", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 8092 - ], - "body": { - "id": 7700, - "nodeType": "Block", - "src": "3819:80:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 7692, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9516, - "src": "3839:10:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 7693, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3839:12:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7694, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7683, - "src": "3853:9:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7695, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7685, - "src": "3864:6:13", - "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": 7691, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7895, - "src": "3829:9:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 7696, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3829:42:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7697, - "nodeType": "ExpressionStatement", - "src": "3829:42:13" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7698, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3888:4:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 7690, - "id": 7699, - "nodeType": "Return", - "src": "3881:11:13" - } - ] - }, - "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": 7701, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 7687, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3795:8:13" - }, - "parameters": { - "id": 7686, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7683, - "name": "recipient", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7701, - "src": "3745:17:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7682, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3745:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7685, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7701, - "src": "3764:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7684, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3764:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3744:35:13" - }, - "returnParameters": { - "id": 7690, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7689, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7701, - "src": "3813:4:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7688, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3813:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3812:6:13" - }, - "scope": 8069, - "src": "3727:172:13", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 8101 - ], - "body": { - "id": 7717, - "nodeType": "Block", - "src": "4055:51:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7711, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7607, - "src": "4072:11:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 7713, - "indexExpression": { - "argumentTypes": null, - "id": 7712, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7703, - "src": "4084:5:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4072:18:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7715, - "indexExpression": { - "argumentTypes": null, - "id": 7714, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7705, - "src": "4091:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4072:27:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7710, - "id": 7716, - "nodeType": "Return", - "src": "4065:34:13" - } - ] - }, - "documentation": "@dev See {IERC20-allowance}.", - "functionSelector": "dd62ed3e", - "id": 7718, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 7707, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4028:8:13" - }, - "parameters": { - "id": 7706, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7703, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7718, - "src": "3976:13:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7702, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3976:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7705, - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7718, - "src": "3991:15:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7704, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3991:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3975:32:13" - }, - "returnParameters": { - "id": 7710, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7709, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7718, - "src": "4046:7:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7708, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4046:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4045:9:13" - }, - "scope": 8069, - "src": "3957:149:13", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 8110 - ], - "body": { - "id": 7737, - "nodeType": "Block", - "src": "4333:77:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 7729, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9516, - "src": "4352:10:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 7730, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4352:12:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7731, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7720, - "src": "4366:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7732, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7722, - "src": "4375:6:13", - "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": 7728, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8048, - "src": "4343:8:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 7733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4343:39:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7734, - "nodeType": "ExpressionStatement", - "src": "4343:39:13" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7735, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4399:4:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 7727, - "id": 7736, - "nodeType": "Return", - "src": "4392:11:13" - } - ] - }, - "documentation": "@dev See {IERC20-approve}.\n * Requirements:\n * - `spender` cannot be the zero address.", - "functionSelector": "095ea7b3", - "id": 7738, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 7724, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4309:8:13" - }, - "parameters": { - "id": 7723, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7720, - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7738, - "src": "4261:15:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7719, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4261:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7722, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7738, - "src": "4278:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7721, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4278:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4260:33:13" - }, - "returnParameters": { - "id": 7727, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7726, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7738, - "src": "4327:4:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7725, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4327:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4326:6:13" - }, - "scope": 8069, - "src": "4244:166:13", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 8121 - ], - "body": { - "id": 7774, - "nodeType": "Block", - "src": "4989:205:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7751, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7740, - "src": "5009:6:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7752, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7742, - "src": "5017:9:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7753, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7744, - "src": "5028:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7750, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7895, - "src": "4999:9:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 7754, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4999:36:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7755, - "nodeType": "ExpressionStatement", - "src": "4999:36:13" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7757, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7740, - "src": "5054:6:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 7758, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9516, - "src": "5062:10:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 7759, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5062:12:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7767, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7744, - "src": "5114:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365", - "id": 7768, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5122:42:13", - "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": 7760, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7607, - "src": "5076:11:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 7762, - "indexExpression": { - "argumentTypes": null, - "id": 7761, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7740, - "src": "5088:6:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5076:19:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7765, - "indexExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 7763, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9516, - "src": "5096:10:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 7764, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5096:12:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5076:33:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7538, - "src": "5076:37:13", - "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": 7769, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5076:89:13", - "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": 7756, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8048, - "src": "5045:8:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 7770, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5045:121:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7771, - "nodeType": "ExpressionStatement", - "src": "5045:121:13" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7772, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5183:4:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 7749, - "id": 7773, - "nodeType": "Return", - "src": "5176:11:13" - } - ] - }, - "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": 7775, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 7746, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4965:8:13" - }, - "parameters": { - "id": 7745, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7740, - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7775, - "src": "4899:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7739, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4899:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7742, - "name": "recipient", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7775, - "src": "4915:17:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7741, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4915:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7744, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7775, - "src": "4934:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7743, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4934:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4898:51:13" - }, - "returnParameters": { - "id": 7749, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7748, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7775, - "src": "4983:4:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7747, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4983:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4982:6:13" - }, - "scope": 8069, - "src": "4877:317:13", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 7801, - "nodeType": "Block", - "src": "5683:121:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 7785, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9516, - "src": "5702:10:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 7786, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5702:12:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7787, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7777, - "src": "5716:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7795, - "name": "addedValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7779, - "src": "5764:10:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7788, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7607, - "src": "5725:11:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 7791, - "indexExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 7789, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9516, - "src": "5737:10:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 7790, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5737:12:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5725:25:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7793, - "indexExpression": { - "argumentTypes": null, - "id": 7792, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7777, - "src": "5751:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5725:34:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7794, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7419, - "src": "5725:38:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7796, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5725:50:13", - "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": 7784, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8048, - "src": "5693:8:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 7797, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5693:83:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7798, - "nodeType": "ExpressionStatement", - "src": "5693:83:13" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7799, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5793:4:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 7783, - "id": 7800, - "nodeType": "Return", - "src": "5786:11:13" - } - ] - }, - "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": 7802, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "increaseAllowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7780, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7777, - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7802, - "src": "5616:15:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7776, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5616:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7779, - "name": "addedValue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7802, - "src": "5633:18:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7778, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5633:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5615:37:13" - }, - "returnParameters": { - "id": 7783, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7782, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7802, - "src": "5677:4:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7781, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5677:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5676:6:13" - }, - "scope": 8069, - "src": "5589:215:13", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 7829, - "nodeType": "Block", - "src": "6390:167:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 7812, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9516, - "src": "6409:10:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 7813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6409:12:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7814, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7804, - "src": "6423:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7822, - "name": "subtractedValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7806, - "src": "6471:15:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f", - "id": 7823, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6488:39:13", - "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": 7815, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7607, - "src": "6432:11:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 7818, - "indexExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 7816, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9516, - "src": "6444:10:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 7817, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6444:12:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6432:25:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7820, - "indexExpression": { - "argumentTypes": null, - "id": 7819, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7804, - "src": "6458:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6432:34:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7821, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7538, - "src": "6432:38:13", - "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": 7824, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6432:96:13", - "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": 7811, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8048, - "src": "6400:8:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 7825, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6400:129:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7826, - "nodeType": "ExpressionStatement", - "src": "6400:129:13" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7827, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6546:4:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 7810, - "id": 7828, - "nodeType": "Return", - "src": "6539:11:13" - } - ] - }, - "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": 7830, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "decreaseAllowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7807, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7804, - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7830, - "src": "6318:15:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7803, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6318:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7806, - "name": "subtractedValue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7830, - "src": "6335:23:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7805, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6335:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6317:42:13" - }, - "returnParameters": { - "id": 7810, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7809, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7830, - "src": "6384:4:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7808, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6384:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6383:6:13" - }, - "scope": 8069, - "src": "6291:266:13", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 7894, - "nodeType": "Block", - "src": "7118:443:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 7845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7840, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7832, - "src": "7136:6:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 7843, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7154:1:13", - "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": 7842, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7146:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 7841, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7146:7:13", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 7844, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7146:10:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "7136:20:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a207472616e736665722066726f6d20746865207a65726f2061646472657373", - "id": 7846, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7158:39:13", - "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": 7839, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7128:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7847, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7128:70:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7848, - "nodeType": "ExpressionStatement", - "src": "7128:70:13" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 7855, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7850, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7834, - "src": "7216:9:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 7853, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7237:1:13", - "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": 7852, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7229:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 7851, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7229:7:13", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 7854, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7229:10:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "7216:23:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a207472616e7366657220746f20746865207a65726f2061646472657373", - "id": 7856, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7241:37:13", - "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": 7849, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7208:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7857, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7208:71:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7858, - "nodeType": "ExpressionStatement", - "src": "7208:71:13" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7860, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7832, - "src": "7311:6:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7861, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7834, - "src": "7319:9:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7862, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7836, - "src": "7330:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7859, - "name": "_beforeTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8068, - "src": "7290:20:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 7863, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7290:47:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7864, - "nodeType": "ExpressionStatement", - "src": "7290:47:13" - }, - { - "expression": { - "argumentTypes": null, - "id": 7875, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7865, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7601, - "src": "7348:9:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7867, - "indexExpression": { - "argumentTypes": null, - "id": 7866, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7832, - "src": "7358:6:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7348:17:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7872, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7836, - "src": "7390:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365", - "id": 7873, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7398:40:13", - "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": 7868, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7601, - "src": "7368:9:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7870, - "indexExpression": { - "argumentTypes": null, - "id": 7869, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7832, - "src": "7378:6:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7368:17:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7871, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7538, - "src": "7368:21:13", - "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": 7874, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7368:71:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7348:91:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7876, - "nodeType": "ExpressionStatement", - "src": "7348:91:13" - }, - { - "expression": { - "argumentTypes": null, - "id": 7886, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7877, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7601, - "src": "7449:9:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7879, - "indexExpression": { - "argumentTypes": null, - "id": 7878, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7834, - "src": "7459:9:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7449:20:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7884, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7836, - "src": "7497:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7880, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7601, - "src": "7472:9:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7882, - "indexExpression": { - "argumentTypes": null, - "id": 7881, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7834, - "src": "7482:9:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7472:20:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7883, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7419, - "src": "7472:24:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7885, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7472:32:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7449:55:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7887, - "nodeType": "ExpressionStatement", - "src": "7449:55:13" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7889, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7832, - "src": "7528:6:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7890, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7834, - "src": "7536:9:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7891, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7836, - "src": "7547:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7888, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8129, - "src": "7519:8:13", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 7892, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7519:35:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7893, - "nodeType": "EmitStatement", - "src": "7514:40:13" - } - ] - }, - "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": 7895, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7837, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7832, - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7895, - "src": "7050:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7831, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7050:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7834, - "name": "recipient", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7895, - "src": "7066:17:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7833, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7066:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7836, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7895, - "src": "7085:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7835, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7085:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7049:51:13" - }, - "returnParameters": { - "id": 7838, - "nodeType": "ParameterList", - "parameters": [], - "src": "7118:0:13" - }, - "scope": 8069, - "src": "7031:530:13", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 7948, - "nodeType": "Block", - "src": "7897:305:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 7908, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7903, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7897, - "src": "7915:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 7906, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7934:1:13", - "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": 7905, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7926:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 7904, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7926:7:13", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 7907, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7926:10:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "7915:21:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a206d696e7420746f20746865207a65726f2061646472657373", - "id": 7909, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7938:33:13", - "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": 7902, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7907:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7910, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7907:65:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7911, - "nodeType": "ExpressionStatement", - "src": "7907:65:13" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 7915, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8012:1:13", - "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": 7914, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8004:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 7913, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8004:7:13", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 7916, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8004:10:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7917, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7897, - "src": "8016:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7918, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7899, - "src": "8025:6:13", - "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": 7912, - "name": "_beforeTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8068, - "src": "7983:20:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 7919, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7983:49:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7920, - "nodeType": "ExpressionStatement", - "src": "7983:49:13" - }, - { - "expression": { - "argumentTypes": null, - "id": 7926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7921, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7609, - "src": "8043:12:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7924, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7899, - "src": "8075:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7922, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7609, - "src": "8058:12:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7923, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7419, - "src": "8058:16:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7925, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8058:24:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8043:39:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7927, - "nodeType": "ExpressionStatement", - "src": "8043:39:13" - }, - { - "expression": { - "argumentTypes": null, - "id": 7937, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7928, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7601, - "src": "8092:9:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7930, - "indexExpression": { - "argumentTypes": null, - "id": 7929, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7897, - "src": "8102:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8092:18:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7935, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7899, - "src": "8136:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7931, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7601, - "src": "8113:9:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7933, - "indexExpression": { - "argumentTypes": null, - "id": 7932, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7897, - "src": "8123:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8113:18:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7934, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7419, - "src": "8113:22:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7936, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8113:30:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8092:51:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7938, - "nodeType": "ExpressionStatement", - "src": "8092:51:13" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 7942, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8175:1:13", - "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": 7941, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8167:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 7940, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8167:7:13", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 7943, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8167:10:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7944, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7897, - "src": "8179:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7945, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7899, - "src": "8188:6:13", - "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": 7939, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8129, - "src": "8158:8:13", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 7946, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8158:37:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7947, - "nodeType": "EmitStatement", - "src": "8153:42:13" - } - ] - }, - "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": 7949, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7900, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7897, - "name": "account", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7949, - "src": "7847:15:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7896, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7847:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7899, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7949, - "src": "7864:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7898, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7864:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7846:33:13" - }, - "returnParameters": { - "id": 7901, - "nodeType": "ParameterList", - "parameters": [], - "src": "7897:0:13" - }, - "scope": 8069, - "src": "7832:370:13", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 8003, - "nodeType": "Block", - "src": "8587:345:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 7962, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7957, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7951, - "src": "8605:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 7960, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8624:1:13", - "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": 7959, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8616:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 7958, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8616:7:13", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 7961, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8616:10:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "8605:21:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a206275726e2066726f6d20746865207a65726f2061646472657373", - "id": 7963, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8628:35:13", - "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": 7956, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "8597:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7964, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8597:67:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7965, - "nodeType": "ExpressionStatement", - "src": "8597:67:13" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7967, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7951, - "src": "8696:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 7970, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8713:1:13", - "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": 7969, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8705:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 7968, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8705:7:13", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 7971, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8705:10:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7972, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7953, - "src": "8717:6:13", - "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": 7966, - "name": "_beforeTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8068, - "src": "8675:20:13", - "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": "8675:49:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7974, - "nodeType": "ExpressionStatement", - "src": "8675:49:13" - }, - { - "expression": { - "argumentTypes": null, - "id": 7985, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7975, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7601, - "src": "8735:9:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7977, - "indexExpression": { - "argumentTypes": null, - "id": 7976, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7951, - "src": "8745:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8735:18:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7982, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7953, - "src": "8779:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a206275726e20616d6f756e7420657863656564732062616c616e6365", - "id": 7983, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8787:36:13", - "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": 7978, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7601, - "src": "8756:9:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7980, - "indexExpression": { - "argumentTypes": null, - "id": 7979, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7951, - "src": "8766:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8756:18:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7981, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7538, - "src": "8756:22:13", - "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": 7984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8756:68:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8735:89:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7986, - "nodeType": "ExpressionStatement", - "src": "8735:89:13" - }, - { - "expression": { - "argumentTypes": null, - "id": 7992, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7987, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7609, - "src": "8834:12:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7990, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7953, - "src": "8866:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7988, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7609, - "src": "8849:12:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7989, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7440, - "src": "8849:16:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7991, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8849:24:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8834:39:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7993, - "nodeType": "ExpressionStatement", - "src": "8834:39:13" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7995, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7951, - "src": "8897:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 7998, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8914:1:13", - "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": 7997, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8906:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 7996, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8906:7:13", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 7999, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8906:10:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 8000, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7953, - "src": "8918:6:13", - "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": 7994, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8129, - "src": "8888:8:13", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 8001, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8888:37:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8002, - "nodeType": "EmitStatement", - "src": "8883:42:13" - } - ] - }, - "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": 8004, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7954, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7951, - "name": "account", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8004, - "src": "8537:15:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7950, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8537:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7953, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8004, - "src": "8554:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7952, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8554:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8536:33:13" - }, - "returnParameters": { - "id": 7955, - "nodeType": "ParameterList", - "parameters": [], - "src": "8587:0:13" - }, - "scope": 8069, - "src": "8522:410:13", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 8047, - "nodeType": "Block", - "src": "9438:257:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 8019, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8014, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8006, - "src": "9456:5:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 8017, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9473:1:13", - "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": 8016, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9465:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 8015, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9465:7:13", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8018, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9465:10:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "9456:19:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373", - "id": 8020, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9477:38:13", - "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": 8013, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "9448:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8021, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9448:68:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8022, - "nodeType": "ExpressionStatement", - "src": "9448:68:13" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 8029, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8024, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8008, - "src": "9534:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 8027, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9553:1:13", - "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": 8026, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9545:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 8025, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9545:7:13", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8028, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9545:10:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "9534:21:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a20617070726f766520746f20746865207a65726f2061646472657373", - "id": 8030, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9557:36:13", - "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": 8023, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "9526:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8031, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9526:68:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8032, - "nodeType": "ExpressionStatement", - "src": "9526:68:13" - }, - { - "expression": { - "argumentTypes": null, - "id": 8039, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8033, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7607, - "src": "9605:11:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 8036, - "indexExpression": { - "argumentTypes": null, - "id": 8034, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8006, - "src": "9617:5:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9605:18:13", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 8037, - "indexExpression": { - "argumentTypes": null, - "id": 8035, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8008, - "src": "9624:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9605:27:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8038, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8010, - "src": "9635:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9605:36:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8040, - "nodeType": "ExpressionStatement", - "src": "9605:36:13" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8042, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8006, - "src": "9665:5:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8043, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8008, - "src": "9672:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8044, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8010, - "src": "9681:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8041, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8137, - "src": "9656:8:13", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 8045, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9656:32:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8046, - "nodeType": "EmitStatement", - "src": "9651:37:13" - } - ] - }, - "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": 8048, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8011, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8006, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8048, - "src": "9373:13:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8005, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9373:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8008, - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8048, - "src": "9388:15:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8007, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9388:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8010, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8048, - "src": "9405:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8009, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9405:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9372:48:13" - }, - "returnParameters": { - "id": 8012, - "nodeType": "ParameterList", - "parameters": [], - "src": "9438:0:13" - }, - "scope": 8069, - "src": "9355:340:13", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 8057, - "nodeType": "Block", - "src": "10076:38:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 8055, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8053, - "name": "_decimals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7615, - "src": "10086:9:13", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8054, - "name": "decimals_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8050, - "src": "10098:9:13", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "10086:21:13", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 8056, - "nodeType": "ExpressionStatement", - "src": "10086:21:13" - } - ] - }, - "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": 8058, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_setupDecimals", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8051, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8050, - "name": "decimals_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8058, - "src": "10042:15:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 8049, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "10042:5:13", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10041:17:13" - }, - "returnParameters": { - "id": 8052, - "nodeType": "ParameterList", - "parameters": [], - "src": "10076:0:13" - }, - "scope": 8069, - "src": "10018:96:13", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 8067, - "nodeType": "Block", - "src": "10790:3:13", - "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": 8068, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_beforeTokenTransfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8065, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8060, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8068, - "src": "10731:12:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8059, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10731:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8062, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8068, - "src": "10745:10:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8061, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10745:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8064, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8068, - "src": "10757:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8063, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10757:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10730:42:13" - }, - "returnParameters": { - "id": 8066, - "nodeType": "ParameterList", - "parameters": [], - "src": "10790:0:13" - }, - "scope": 8069, - "src": "10701:92:13", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - } - ], - "scope": 8070, - "src": "1321:9474:13" - } - ], - "src": "33:10763:13" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.20", - "updatedAt": "2021-05-11T16:04:02.514Z", - "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/ERC20Test.json b/build/contracts/ERC20Test.json deleted file mode 100644 index f9d6c014..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:13;2032;:13;;;;;;;;;;;;:::i;:::-;-1:-1:-1;2055:17:13;;;;:7;;:17;;;;;:::i;:::-;-1:-1:-1;;2082:9:13;:14;;2094:2;-1:-1:-1;;2082:14:13;;;;-1:-1:-1;;;;;;508:18:9;2082:14:13;516:10:9;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:13;-1:-1:-1;;;;;7915:21:13;;7907:65;;;;;-1:-1:-1;;;7907:65:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;7983:49;8012:1;8016:7;8025:6;-1:-1:-1;;;;;7983:20:13;:49;:::i;:::-;8058:24;8075:6;8058:12;;:16;;;;;;:24;;;;:::i;:::-;8043:12;:39;-1:-1:-1;;;;;8113:18:13;;:9;:18;;;;;;;;;;;;:30;;8136:6;;8113:22;;;;;:30;;:::i;:::-;-1:-1:-1;;;;;8092:18:13;;:9;:18;;;;;;;;;;;:51;;;;8158:37;;;;;;;8092:18;;:9;;8158:37;;;;;;;;;;7832:370;;:::o;10701:92::-;;;;:::o;2690:175:12:-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;;-1:-1:-1;;;2794:46:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;2857:1;2690:175;-1:-1:-1;;;2690:175:12: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:13;;;:::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:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4244:166;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;4244:166:13;;;;;;;;:::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:13;;;;;;;;;;;;;;;;;:::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:13;;;;;;;;:::i;300:35:0:-;;;:::i;:::-;;;;-1:-1:-1;;;;;300:35:0;;;;;;;;;;;;;;3399:125:13;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3399:125:13;-1:-1:-1;;;;;3399:125:13;;:::i;239:20:9:-;;;:::i;2370:93:13:-;;;:::i;6291:266::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;6291:266:13;;;;;;;;:::i;3727:172::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3727:172:13;;;;;;;;:::i;3957:149::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3957:149:13;;;;;;;;;;:::i;864:188:9:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;864:188:9;-1:-1:-1;;;;;864:188:9;;:::i;:::-;;2168:89:13;2245:5;2238:12;;;;;;;;-1:-1:-1;;2238:12:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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:13;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:13;;;;;;:11;:19;;;;;;5096:12;:10;:12::i;:::-;-1:-1:-1;;;;;5076:33:13;;;;;;;;;;;;-1:-1:-1;5076:33:13;;;:89;;:37;:89;:::i;:::-;5045:8;:121::i;:::-;-1:-1:-1;5183:4:13;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:13;;;;;;;;;;;;;;;;;-1:-1:-1;5725:25:13;;;:34;;;;;;;;;;;:50;:38;:50;:::i;300:35:0:-;;;-1:-1:-1;;;;;300:35:0;;:::o;3399:125:13:-;-1:-1:-1;;;;;3499:18:13;3473:7;3499:18;;;;;;;;;;;;3399:125::o;239:20:9:-;;;;;;-1:-1:-1;;;;;239:20:9;;:::o;2370:93:13:-;2449:7;2442:14;;;;;;;;-1:-1:-1;;2442:14:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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:13;;;;;;;;;;;;;;;;;-1:-1:-1;6432:25:13;;;: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:13;;;4046:7;4072:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3957:149::o;864:188:9:-;672:5;;;;;-1:-1:-1;;;;;672:5:9;658:10;:19;650:28;;;;;;-1:-1:-1;;;;;944:22:9;::::1;936:31;;;::::0;::::1;;1003:5;::::0;982:37:::1;::::0;-1:-1:-1;;;;;982:37:9;;::::1;::::0;1003:5:::1;::::0;::::1;;::::0;982:37:::1;::::0;;;::::1;1029:5;:16:::0;;-1:-1:-1;;;;;1029:16:9;;::::1;;;-1:-1:-1::0;;;;;;1029:16:9;;::::1;::::0;;;::::1;::::0;;864:188::o;598:104:21:-;685:10;598:104;:::o;9355:340:13:-;-1:-1:-1;;;;;9456:19:13;;9448:68;;;;-1:-1:-1;;;9448:68:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9534:21:13;;9526:68;;;;-1:-1:-1;;;9526:68:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9605:18:13;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9656:32;;;;;;;;;;;;;;;;;9355:340;;;:::o;7031:530::-;-1:-1:-1;;;;;7136:20:13;;7128:70;;;;-1:-1:-1;;;7128:70:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7216:23:13;;7208:71;;;;-1:-1:-1;;;7208:71:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7290:47;7311:6;7319:9;7330:6;7290:20;:47::i;:::-;7368:71;7390:6;7368:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7368:17:13;;:9;:17;;;;;;;;;;;;:71;;:21;:71;:::i;:::-;-1:-1:-1;;;;;7348:17:13;;;:9;:17;;;;;;;;;;;:91;;;;7472:20;;;;;;;:32;;7497:6;7472:32;:24;:32;:::i;:::-;-1:-1:-1;;;;;7449:20:13;;;:9;:20;;;;;;;;;;;;:55;;;;7519:35;;;;;;;7449:20;;7519:35;;;;;;;;;;;;;7031:530;;;:::o;5432:163:12:-;5518:7;5553:12;5545:6;;;;5537:29;;;;-1:-1:-1;;;5537:29:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5583:5:12;;;5432:163::o;2690:175::-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;;-1:-1:-1;;;2794:46:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;2857:1;2690:175;-1:-1:-1;;;2690:175:12:o;10701:92:13:-;;;;:::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, - 7181, - 8069, - 8138, - 9528 - ], - "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, - 7181, - 8069, - 8138, - 9528 - ], - "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, - 7181, - 8069, - 8138, - 9528 - ], - "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, - 7181, - 8069, - 8138, - 9528 - ], - "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-05-11T16:04:02.405Z", - "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 86594b95..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:24;935:15;;-1:-1:-1;;;;;;508:18:9;935:15:24;516:10:9;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:24;;;:::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:9:-;;;:::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:9:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;864:188:9;-1:-1:-1;;;;;864:188:9;;:::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:24;:6;:8::i;:::-;1365:9;1357:38;;;;;-1:-1:-1;;;1357:38:24;;;;;;;;;;;;-1:-1:-1;;;1357:38:24;;;;;;;;;;;;;;;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:24:-;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:9;;;;;-1:-1:-1;;;;;672:5:9;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:9:-;;;;;;-1:-1:-1;;;;;239:20:9;;:::o;1836:391:2:-;1913:4;672:5:9;;;;;-1:-1:-1;;;;;672:5:9;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:9:-;672:5;;;;;-1:-1:-1;;;;;672:5:9;658:10;:19;650:28;;;;;;-1:-1:-1;;;;;944:22:9;::::1;936:31;;;::::0;::::1;;1003:5;::::0;;982:37:::1;::::0;-1:-1:-1;;;;;982:37:9;;::::1;::::0;1003:5:::1;::::0;;::::1;;::::0;982:37:::1;::::0;::::1;1029:5;:16:::0;;-1:-1:-1;;;;;1029:16:9;;::::1;;;-1:-1:-1::0;;;;;;1029:16:9;;::::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:12:-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;;-1:-1:-1;;;2794:46:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;2857:1;2690:175;-1:-1:-1;;;2690:175:12:o;3136:155::-;3194:7;3226:1;3221;:6;;3213:49;;;;;-1:-1:-1;;;3213:49:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3279:5:12;;;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": 8139, - "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": 10626, - "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": 7586, - "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": 7182, - "src": "221:29:2", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 82, - "name": "Pausable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10625, - "src": "279:8:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Pausable_$10625", - "typeString": "contract Pausable" - } - }, - "id": 83, - "nodeType": "InheritanceSpecifier", - "src": "279:8:2" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 84, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7181, - "src": "289:7:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$7181", - "typeString": "contract Ownable" - } - }, - "id": 85, - "nodeType": "InheritanceSpecifier", - "src": "289:7:2" - } - ], - "contractDependencies": [ - 7181, - 9528, - 10625 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 492, - "linearizedBaseContracts": [ - 492, - 7181, - 10625, - 9528 - ], - "name": "ERC20TokenLock", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 88, - "libraryName": { - "contractScope": null, - "id": 86, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7585, - "src": "309:8:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$7585", - "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_$8138", - "typeString": "contract IERC20" - }, - "typeName": { - "contractScope": null, - "id": 89, - "name": "IERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8138, - "src": "334:6:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$8138", - "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_$8138", - "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": 8138, - "src": "1432:6:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$8138_$", - "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_$8138", - "typeString": "contract IERC20" - } - }, - "src": "1424:34:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$8138", - "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": 7128, - "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": 7154, - "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": 7154, - "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_$8138", - "typeString": "contract IERC20" - } - }, - "id": 292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "allowance", - "nodeType": "MemberAccess", - "referencedDeclaration": 8101, - "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_$8138", - "typeString": "contract IERC20" - } - }, - "id": 307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 8121, - "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": 7419, - "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": 10584, - "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": 7440, - "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_$8138", - "typeString": "contract IERC20" - } - }, - "id": 416, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 8092, - "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": 8139, - "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": 10626, - "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": 7586, - "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": 7182, - "src": "221:29:2", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 82, - "name": "Pausable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10625, - "src": "279:8:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Pausable_$10625", - "typeString": "contract Pausable" - } - }, - "id": 83, - "nodeType": "InheritanceSpecifier", - "src": "279:8:2" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 84, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7181, - "src": "289:7:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$7181", - "typeString": "contract Ownable" - } - }, - "id": 85, - "nodeType": "InheritanceSpecifier", - "src": "289:7:2" - } - ], - "contractDependencies": [ - 7181, - 9528, - 10625 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 492, - "linearizedBaseContracts": [ - 492, - 7181, - 10625, - 9528 - ], - "name": "ERC20TokenLock", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 88, - "libraryName": { - "contractScope": null, - "id": 86, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7585, - "src": "309:8:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$7585", - "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_$8138", - "typeString": "contract IERC20" - }, - "typeName": { - "contractScope": null, - "id": 89, - "name": "IERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8138, - "src": "334:6:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$8138", - "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_$8138", - "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": 8138, - "src": "1432:6:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$8138_$", - "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_$8138", - "typeString": "contract IERC20" - } - }, - "src": "1424:34:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$8138", - "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": 7128, - "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": 7154, - "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": 7154, - "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_$8138", - "typeString": "contract IERC20" - } - }, - "id": 292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "allowance", - "nodeType": "MemberAccess", - "referencedDeclaration": 8101, - "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_$8138", - "typeString": "contract IERC20" - } - }, - "id": 307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 8121, - "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": 7419, - "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": 10584, - "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": 7440, - "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_$8138", - "typeString": "contract IERC20" - } - }, - "id": 416, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 8092, - "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-05-11T16:04:02.406Z", - "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 4e3fce4b..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:15:-:0;;;3577:369;8:9:-1;5:2;;;30:1;27;20:12;5:2;3577:369:15;;;;;;;;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3577:369:15;;;;;;;;;;;;;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:15;;420:4:-1;411:14;;;;3577:369:15;;;;;411:14:-1;3577:369:15;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:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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:15;;420:4:-1;411:14;;;;3577:369:15;;;;;411:14:-1;3577:369:15;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:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3577:369:15;;-1:-1:-1;768:40:10;;-1:-1:-1;;;;787:20:10;-1:-1:-1;;;;;;768:18:10;:40;:::i;:::-;3651:13:15;;;;:5;;:13;;;;;:::i;:::-;-1:-1:-1;3674:17:15;;;;:7;;:17;;;;;:::i;:::-;-1:-1:-1;3779:40:15;-1:-1:-1;;;;;;;;3779:18:15;:40;:::i;:::-;3829:49;-1:-1:-1;;;;;;;;3829:18:15;:49;:::i;:::-;3888:51;-1:-1:-1;;;;;;;;3888:18:15;:51;:::i;:::-;3577:369;;571:16534;;1507:198:10;-1:-1:-1;;;;;;1590:25:10;;;;;1582:66;;;;;-1:-1:-1;;;1582:66:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1658:33:10;:20;:33;;;;;;;;;;:40;;-1:-1:-1;;1658:40:10;1694:4;1658:40;;;1507:198::o;571:16534:15:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;571:16534:15;;;-1:-1:-1;571:16534:15;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", - "deployedSourceMap": "571:16534:15:-:0;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;571:16534:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;965:148:10;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;965:148:10;-1:-1:-1;;;;;;965:148:10;;:::i;:::-;;;;;;;;;;;;;;;;;;4517:98: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;4517:98:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7222:217;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7222:217:15;;:::i;:::-;;;;-1:-1:-1;;;;;7222:217:15;;;;;;;;;;;;;;6766:395;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;6766:395:15;;;;;;;;:::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:15;;;;;;;;;;;;;;;;;:::i;6029:160::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;6029:160:15;;;;;;;;:::i;8452:149::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;8452:149:15;;;;;;;;;;;;;;;;;:::i;6540:169::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6540:169:15;;:::i;4280:175::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4280:175:15;;:::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:15;-1:-1:-1;;;;;4005:218:15;;:::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:15;;;;;;;;;;:::i;8667:282::-;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;8667:282:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;8667:282:15;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;8667:282:15;;;;;;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:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;8667:282:15;;-1:-1:-1;8667:282:15;;-1:-1:-1;;;;;8667:282:15:i;4847:776::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4847:776:15;;:::i;7862:162::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;7862:162:15;;;;;;;;;;:::i;965:148:10:-;-1:-1:-1;;;;;;1073:33:10;;1050:4;1073:33;;;;;;;;;;;;;965:148;;;;:::o;4517:98:15:-;4603:5;4596:12;;;;;;;;-1:-1:-1;;4596:12:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7408:24:15;;;;:15;:24;;;;;;-1:-1:-1;;;;;7408:24:15;;7222:217::o;6766:395::-;6846:13;6862:23;6877:7;6862:14;:23::i;:::-;6846:39;;6909:5;-1:-1:-1;;;;;6903:11:15;:2;-1:-1:-1;;;;;6903:11:15;;;6895:57;;;;-1:-1:-1;;;6895:57:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6987:5;-1:-1:-1;;;;;6971:21:15;:12;:10;:12::i;:::-;-1:-1:-1;;;;;6971:21:15;;:69;;;;6996:44;7020:5;7027:12;:10;:12::i;:::-;6996:23;:44::i;:::-;6963:159;;;;-1:-1:-1;;;6963:159:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8351:28;8361:4;8367:2;8371:7;8351:9;:28::i;6029:160::-;-1:-1:-1;;;;;6152:20:15;;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:15;6540:169;-1:-1:-1;;;6540:169:15: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:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5903:13;;5928:15;;5935:8;;5928:15;;5935:8;5928:15;;;;;;;;;;;;;;;;;;;;;;;;4005:218;4077:7;-1:-1:-1;;;;;4104:19:15;;4096:74;;;;-1:-1:-1;;;4096:74:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4187:20:15;;;;;;:13;:20;;;;;:29;;:27;:29::i;4679:102::-;4767:7;4760:14;;;;;;;;-1:-1:-1;;4760:14:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4735:13;;4760:14;;4767:7;;4760:14;;4767:7;4760:14;;;;;;;;;;;;;;;;;;;;;;;;7506:290;7620:12;:10;:12::i;:::-;-1:-1:-1;;;;;7608:24:15;:8;-1:-1:-1;;;;;7608:24:15;;;7600:62;;;;;-1:-1:-1;;;7600:62:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;7718:8;7673:18;:32;7692:12;:10;:12::i;:::-;-1:-1:-1;;;;;7673:32:15;;;;;;;;;;;;;;;;;-1:-1:-1;7673:32:15;;;:42;;;;;;;;;;;;:53;;-1:-1:-1;;7673:53:15;;;;;;;;;;;7756:12;:10;:12::i;:::-;7741:48;;;;;;;;;;-1:-1:-1;;;;;7741:48:15;;;;;;;;;;;;;;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:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5058:19;;;;:10;:19;;;;;;;;;5032:45;;;;;;-1:-1:-1;;5032:45:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;: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:15;-1:-1:-1;5229:16:15;;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::15;;;;;;;;;;-1:-1:-1;5415:33:15;;;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:15;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;5415:33:15;;;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:15;;;;;;;;;;-1:-1:-1;5573:42:15;;;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:15;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;5573:42:15;;;5559:57;;;;4847:776;;;:::o;7862:162::-;-1:-1:-1;;;;;7982:25:15;;;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:21:-;685:10;598:104;:::o;16225:189:15:-;16299:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;16299:29:15;-1:-1:-1;;;;;16299:29:15;;;;;;;;:24;;16352:23;16299:24;16352:14;:23::i;:::-;-1:-1:-1;;;;;16343:46:15;;;;;;;;;;;16225:189;;:::o;7820:121:22:-;7889:7;7915:19;7923:3;7915:7;:19::i;10666:351:15:-;10759:4;10783:16;10791:7;10783;:16::i;:::-;10775:73;;;;-1:-1:-1;;;10775:73:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10858:13;10874:23;10889:7;10874:14;:23::i;:::-;10858:39;;10926:5;-1:-1:-1;;;;;10915:16:15;:7;-1:-1:-1;;;;;10915:16:15;;:51;;;;10959:7;-1:-1:-1;;;;;10935:31:15;:20;10947:7;10935:11;:20::i;:::-;-1:-1:-1;;;;;10935:31:15;;10915:51;:94;;;;10970:39;10994:5;11001:7;10970:23;:39::i;:::-;10907:103;10666:351;-1:-1:-1;;;;10666:351:15:o;13707:584::-;13831:4;-1:-1:-1;;;;;13804:31:15;:23;13819:7;13804:14;:23::i;:::-;-1:-1:-1;;;;;13804:31:15;;13796:85;;;;-1:-1:-1;;;13796:85:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13917:16:15;;13909:65;;;;-1:-1:-1;;;13909:65:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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:15;;;;;;:13;:19;;;;;:35;;14153:7;14126:35;:26;:35;:::i;:::-;-1:-1:-1;;;;;;14171:17:15;;;;;;:13;:17;;;;;:30;;14193:7;14171:30;:21;:30;:::i;:::-;-1:-1:-1;14212:29:15;:12;14229:7;14238:2;14212:29;:16;:29;:::i;:::-;;14276:7;14272:2;-1:-1:-1;;;;;14257:27:15;14266:4;-1:-1:-1;;;;;14257:27:15;;;;;;;;;;;13707:584;;;:::o;9250:135:23:-;9321:7;9355:22;9359:3;9371:5;9355:3;:22::i;8269:233:22:-;8349:7;;;;8408:22;8412:3;8424:5;8408:3;:22::i;:::-;8377:53;;;;-1:-1:-1;8269:233:22;-1:-1:-1;;;;;8269:233:22:o;9522:211::-;9629:7;9679:44;9684:3;9704;9710:12;9679:4;:44::i;:::-;9671:53;-1:-1:-1;9522:211:22;;;;;;:::o;9811:269:15:-;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:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;210:725:25;266:13;483:10;479:51;;-1:-1:-1;509:10:25;;;;;;;;;;;;-1:-1:-1;;;509:10:25;;;;;;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:25;87:34:-1;135:17;;-1:-1;699:17:25;-1:-1:-1;769:5:25;;-1:-1:-1;677:39:25;-1:-1:-1;;;742:10:25;;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:25;;;;;;;;-1:-1:-1;885:2:25;877:10;;;;784:114;;;-1:-1:-1;921:6:25;210:725;-1:-1:-1;;;;210:725:25:o;7588:149:22:-;7672:4;7695:35;7705:3;7725;7695:9;:35::i;4491:108::-;4573:19;;4491:108::o;8365:135:23:-;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:22:-;7116:4;7139:64;7144:3;7164;-1:-1:-1;;;;;7178:23:22;;7139:4;:64::i;4452:201:23:-;4546:18;;4519:7;;4546:26;-1:-1:-1;4538:73:23;;;;-1:-1:-1;;;4538:73:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4628:3;:11;;4640:5;4628:18;;;;;;;;;;;;;;;;4621:25;;4452:201;;;;:::o;4942:274:22:-;5045:19;;5009:7;;;;5045:27;-1:-1:-1;5037:74:22;;;;-1:-1:-1;;;5037:74:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6651:3;:12;;6675:1;6664:8;:12;6651:26;;;;;;;;;;;;;;;;;;:33;;;6644:40;;;6403:315;;;;;:::o;15524:589:15:-;15644:4;15669:15;:2;-1:-1:-1;;;;;15669:13:15;;:15::i;:::-;15664:58;;-1:-1:-1;15707:4:15;15700:11;;15664:58;15731:23;15757:246;-1:-1:-1;;;15868:12:15;:10;:12::i;:::-;15894:4;15912:7;15933:5;15773:175;;;;;;-1:-1:-1;;;;;15773:175:15;-1:-1:-1;;;;;15773:175:15;;;;;;-1:-1:-1;;;;;15773:175:15;-1:-1:-1;;;;;15773:175:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;15773:175:15;;;;-1:-1:-1;;;;;15773:175:15;;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:15;15757:246;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15757:15:15;;;: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:15;-1:-1:-1;;;;;;16079:26:15;-1:-1:-1;;;16079:26:15;;-1:-1:-1;;;15524:589:15;;;;;;:::o;4278:123:22:-;4349:4;4372:17;;;:12;;;;;:17;;;;;;:22;;;4278:123::o;2212:1512:23:-;2278:4;2415:19;;;:12;;;:19;;;;;;2449:15;;2445:1273;;2878:18;;-1:-1:-1;;2830:14:23;;;;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:23;:23;;;;;;;;;;;;;1941:18;;1919:19;;;:12;;;:19;;;;;;:40;;;;1973:11;;1719:319;-1:-1:-1;2022:5:23;2015:12;;1836:678:22;1912:4;2045:17;;;:12;;;:17;;;;;;2077:13;2073:435;;-1:-1:-1;;2161:38:22;;;;;;;;;;;;;;;;;;27:10:-1;;39:1;23:18;;;45:23;;2143:12:22;: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:20;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:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:20;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:20;;;;;;;;;;;;;;;;;;;;;;;;;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:20;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:20:o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:20;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:20;;;;;;;;;;;;;;;;;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": [ - 9051 - ] - }, - "id": 9052, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 8140, - "literals": [ - "solidity", - ">=", - "0.6", - ".0", - "<", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:31:15" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Context.sol", - "file": "../../utils/Context.sol", - "id": 8141, - "nodeType": "ImportDirective", - "scope": 9052, - "sourceUnit": 9529, - "src": "66:33:15", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721.sol", - "file": "./IERC721.sol", - "id": 8142, - "nodeType": "ImportDirective", - "scope": 9052, - "sourceUnit": 9155, - "src": "100:23:15", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721Metadata.sol", - "file": "./IERC721Metadata.sol", - "id": 8143, - "nodeType": "ImportDirective", - "scope": 9052, - "sourceUnit": 9205, - "src": "124:31:15", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721Enumerable.sol", - "file": "./IERC721Enumerable.sol", - "id": 8144, - "nodeType": "ImportDirective", - "scope": 9052, - "sourceUnit": 9182, - "src": "156:33:15", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol", - "file": "./IERC721Receiver.sol", - "id": 8145, - "nodeType": "ImportDirective", - "scope": 9052, - "sourceUnit": 9221, - "src": "190:31:15", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/introspection/ERC165.sol", - "file": "../../introspection/ERC165.sol", - "id": 8146, - "nodeType": "ImportDirective", - "scope": 9052, - "sourceUnit": 7235, - "src": "222:40:15", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/math/SafeMath.sol", - "file": "../../math/SafeMath.sol", - "id": 8147, - "nodeType": "ImportDirective", - "scope": 9052, - "sourceUnit": 7586, - "src": "263:33:15", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Address.sol", - "file": "../../utils/Address.sol", - "id": 8148, - "nodeType": "ImportDirective", - "scope": 9052, - "sourceUnit": 9506, - "src": "297:33:15", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/EnumerableSet.sol", - "file": "../../utils/EnumerableSet.sol", - "id": 8149, - "nodeType": "ImportDirective", - "scope": 9052, - "sourceUnit": 10543, - "src": "331:39:15", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/EnumerableMap.sol", - "file": "../../utils/EnumerableMap.sol", - "id": 8150, - "nodeType": "ImportDirective", - "scope": 9052, - "sourceUnit": 10072, - "src": "371:39:15", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Strings.sol", - "file": "../../utils/Strings.sol", - "id": 8151, - "nodeType": "ImportDirective", - "scope": 9052, - "sourceUnit": 10711, - "src": "411:33:15", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 8152, - "name": "Context", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9528, - "src": "590:7:15", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Context_$9528", - "typeString": "contract Context" - } - }, - "id": 8153, - "nodeType": "InheritanceSpecifier", - "src": "590:7:15" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 8154, - "name": "ERC165", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7234, - "src": "599:6:15", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC165_$7234", - "typeString": "contract ERC165" - } - }, - "id": 8155, - "nodeType": "InheritanceSpecifier", - "src": "599:6:15" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 8156, - "name": "IERC721", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9154, - "src": "607:7:15", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721_$9154", - "typeString": "contract IERC721" - } - }, - "id": 8157, - "nodeType": "InheritanceSpecifier", - "src": "607:7:15" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 8158, - "name": "IERC721Metadata", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9204, - "src": "616:15:15", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721Metadata_$9204", - "typeString": "contract IERC721Metadata" - } - }, - "id": 8159, - "nodeType": "InheritanceSpecifier", - "src": "616:15:15" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 8160, - "name": "IERC721Enumerable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9181, - "src": "633:17:15", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721Enumerable_$9181", - "typeString": "contract IERC721Enumerable" - } - }, - "id": 8161, - "nodeType": "InheritanceSpecifier", - "src": "633:17:15" - } - ], - "contractDependencies": [ - 7234, - 7244, - 9154, - 9181, - 9204, - 9528 - ], - "contractKind": "contract", - "documentation": "@title ERC721 Non-Fungible Token Standard basic implementation\n@dev see https://eips.ethereum.org/EIPS/eip-721", - "fullyImplemented": true, - "id": 9051, - "linearizedBaseContracts": [ - 9051, - 9181, - 9204, - 9154, - 7234, - 7244, - 9528 - ], - "name": "ERC721", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 8164, - "libraryName": { - "contractScope": null, - "id": 8162, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7585, - "src": "663:8:15", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$7585", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "657:27:15", - "typeName": { - "id": 8163, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "676:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 8167, - "libraryName": { - "contractScope": null, - "id": 8165, - "name": "Address", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9505, - "src": "695:7:15", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Address_$9505", - "typeString": "library Address" - } - }, - "nodeType": "UsingForDirective", - "src": "689:26:15", - "typeName": { - "id": 8166, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "707:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - { - "id": 8170, - "libraryName": { - "contractScope": null, - "id": 8168, - "name": "EnumerableSet", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10542, - "src": "726:13:15", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EnumerableSet_$10542", - "typeString": "library EnumerableSet" - } - }, - "nodeType": "UsingForDirective", - "src": "720:46:15", - "typeName": { - "contractScope": null, - "id": 8169, - "name": "EnumerableSet.UintSet", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10452, - "src": "744:21:15", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10452_storage_ptr", - "typeString": "struct EnumerableSet.UintSet" - } - } - }, - { - "id": 8173, - "libraryName": { - "contractScope": null, - "id": 8171, - "name": "EnumerableMap", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10071, - "src": "777:13:15", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EnumerableMap_$10071", - "typeString": "library EnumerableMap" - } - }, - "nodeType": "UsingForDirective", - "src": "771:55:15", - "typeName": { - "contractScope": null, - "id": 8172, - "name": "EnumerableMap.UintToAddressMap", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9853, - "src": "795:30:15", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - } - } - }, - { - "id": 8176, - "libraryName": { - "contractScope": null, - "id": 8174, - "name": "Strings", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10710, - "src": "837:7:15", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Strings_$10710", - "typeString": "library Strings" - } - }, - "nodeType": "UsingForDirective", - "src": "831:26:15", - "typeName": { - "id": 8175, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "849:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": true, - "id": 8179, - "name": "_ERC721_RECEIVED", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9051, - "src": "1035:53:15", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 8177, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "1035:6:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783135306237613032", - "id": 8178, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1078:10:15", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_353073666_by_1", - "typeString": "int_const 353073666" - }, - "value": "0x150b7a02" - }, - "visibility": "private" - }, - { - "constant": false, - "id": 8183, - "name": "_holderTokens", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9051, - "src": "1172:64:15", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UintSet_$10452_storage_$", - "typeString": "mapping(address => struct EnumerableSet.UintSet)" - }, - "typeName": { - "id": 8182, - "keyType": { - "id": 8180, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1181:7:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1172:42:15", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UintSet_$10452_storage_$", - "typeString": "mapping(address => struct EnumerableSet.UintSet)" - }, - "valueType": { - "contractScope": null, - "id": 8181, - "name": "EnumerableSet.UintSet", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10452, - "src": "1192:21:15", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10452_storage_ptr", - "typeString": "struct EnumerableSet.UintSet" - } - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 8185, - "name": "_tokenOwners", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9051, - "src": "1300:51:15", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage", - "typeString": "struct EnumerableMap.UintToAddressMap" - }, - "typeName": { - "contractScope": null, - "id": 8184, - "name": "EnumerableMap.UintToAddressMap", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9853, - "src": "1300:30:15", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 8189, - "name": "_tokenApprovals", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9051, - "src": "1407:52:15", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - }, - "typeName": { - "id": 8188, - "keyType": { - "id": 8186, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1416:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "1407:28:15", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - }, - "valueType": { - "id": 8187, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1427:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 8195, - "name": "_operatorApprovals", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9051, - "src": "1514:73:15", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - }, - "typeName": { - "id": 8194, - "keyType": { - "id": 8190, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1523:7:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1514:46:15", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - }, - "valueType": { - "id": 8193, - "keyType": { - "id": 8191, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1543:7:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1534:25:15", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 8192, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1554:4:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 8197, - "name": "_name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9051, - "src": "1612:20:15", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 8196, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1612:6:15", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 8199, - "name": "_symbol", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9051, - "src": "1659:22:15", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 8198, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1659:6:15", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 8203, - "name": "_tokenURIs", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9051, - "src": "1727:46:15", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string)" - }, - "typeName": { - "id": 8202, - "keyType": { - "id": 8200, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1736:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "1727:27:15", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string)" - }, - "valueType": { - "id": 8201, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1747:6:15", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 8205, - "name": "_baseURI", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9051, - "src": "1796:23:15", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 8204, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1796:6:15", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": true, - "id": 8208, - "name": "_INTERFACE_ID_ERC721", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9051, - "src": "2695:57:15", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 8206, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "2695:6:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783830616335386364", - "id": 8207, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2742:10:15", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2158778573_by_1", - "typeString": "int_const 2158778573" - }, - "value": "0x80ac58cd" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 8211, - "name": "_INTERFACE_ID_ERC721_METADATA", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9051, - "src": "3018:66:15", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 8209, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "3018:6:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783562356531333966", - "id": 8210, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3074:10:15", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1532892063_by_1", - "typeString": "int_const 1532892063" - }, - "value": "0x5b5e139f" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 8214, - "name": "_INTERFACE_ID_ERC721_ENUMERABLE", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9051, - "src": "3389:68:15", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 8212, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "3389:6:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783738306539643633", - "id": 8213, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3447:10:15", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2014223715_by_1", - "typeString": "int_const 2014223715" - }, - "value": "0x780e9d63" - }, - "visibility": "private" - }, - { - "body": { - "id": 8241, - "nodeType": "Block", - "src": "3641:305:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 8223, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8221, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8197, - "src": "3651:5:15", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8222, - "name": "name_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8216, - "src": "3659:5:15", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "3651:13:15", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 8224, - "nodeType": "ExpressionStatement", - "src": "3651:13:15" - }, - { - "expression": { - "argumentTypes": null, - "id": 8227, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8225, - "name": "_symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8199, - "src": "3674:7:15", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8226, - "name": "symbol_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8218, - "src": "3684:7:15", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "3674:17:15", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 8228, - "nodeType": "ExpressionStatement", - "src": "3674:17:15" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8230, - "name": "_INTERFACE_ID_ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8208, - "src": "3798:20:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "id": 8229, - "name": "_registerInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7233, - "src": "3779:18:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes4_$returns$__$", - "typeString": "function (bytes4)" - } - }, - "id": 8231, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3779:40:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8232, - "nodeType": "ExpressionStatement", - "src": "3779:40:15" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8234, - "name": "_INTERFACE_ID_ERC721_METADATA", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8211, - "src": "3848:29:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "id": 8233, - "name": "_registerInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7233, - "src": "3829:18:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes4_$returns$__$", - "typeString": "function (bytes4)" - } - }, - "id": 8235, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3829:49:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8236, - "nodeType": "ExpressionStatement", - "src": "3829:49:15" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8238, - "name": "_INTERFACE_ID_ERC721_ENUMERABLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8214, - "src": "3907:31:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "id": 8237, - "name": "_registerInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7233, - "src": "3888:18:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes4_$returns$__$", - "typeString": "function (bytes4)" - } - }, - "id": 8239, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3888:51:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8240, - "nodeType": "ExpressionStatement", - "src": "3888:51:15" - } - ] - }, - "documentation": "@dev Initializes the contract by setting a `name` and a `symbol` to the token collection.", - "id": 8242, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8219, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8216, - "name": "name_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8242, - "src": "3590:19:15", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 8215, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3590:6:15", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8218, - "name": "symbol_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8242, - "src": "3611:21:15", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 8217, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3611:6:15", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3589:44:15" - }, - "returnParameters": { - "id": 8220, - "nodeType": "ParameterList", - "parameters": [], - "src": "3641:0:15" - }, - "scope": 9051, - "src": "3577:369:15", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "baseFunctions": [ - 9087 - ], - "body": { - "id": 8266, - "nodeType": "Block", - "src": "4086:137:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 8256, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8251, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8244, - "src": "4104:5:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 8254, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4121:1:15", - "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": 8253, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4113:7:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 8252, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4113:7:15", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8255, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4113:10:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "4104:19:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a2062616c616e636520717565727920666f7220746865207a65726f2061646472657373", - "id": 8257, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4125:44:15", - "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": 8250, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4096:7:15", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8258, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4096:74:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8259, - "nodeType": "ExpressionStatement", - "src": "4096:74:15" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8260, - "name": "_holderTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8183, - "src": "4187:13:15", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UintSet_$10452_storage_$", - "typeString": "mapping(address => struct EnumerableSet.UintSet storage ref)" - } - }, - "id": 8262, - "indexExpression": { - "argumentTypes": null, - "id": 8261, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8244, - "src": "4201:5:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4187:20:15", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10452_storage", - "typeString": "struct EnumerableSet.UintSet storage ref" - } - }, - "id": 8263, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": 10522, - "src": "4187:27:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_UintSet_$10452_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_UintSet_$10452_storage_ptr_$", - "typeString": "function (struct EnumerableSet.UintSet storage pointer) view returns (uint256)" - } - }, - "id": 8264, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4187:29:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 8249, - "id": 8265, - "nodeType": "Return", - "src": "4180:36:15" - } - ] - }, - "documentation": "@dev See {IERC721-balanceOf}.", - "functionSelector": "70a08231", - "id": 8267, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 8246, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4059:8:15" - }, - "parameters": { - "id": 8245, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8244, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8267, - "src": "4024:13:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8243, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4024:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4023:15:15" - }, - "returnParameters": { - "id": 8249, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8248, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8267, - "src": "4077:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8247, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4077:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4076:9:15" - }, - "scope": 9051, - "src": "4005:218:15", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 9094 - ], - "body": { - "id": 8281, - "nodeType": "Block", - "src": "4361:94:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8277, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8269, - "src": "4395:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e", - "id": 8278, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4404:43:15", - "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": 8275, - "name": "_tokenOwners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8185, - "src": "4378:12:15", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage", - "typeString": "struct EnumerableMap.UintToAddressMap storage ref" - } - }, - "id": 8276, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "get", - "nodeType": "MemberAccess", - "referencedDeclaration": 10070, - "src": "4378:16:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_UintToAddressMap_$9853_storage_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_address_$bound_to$_t_struct$_UintToAddressMap_$9853_storage_ptr_$", - "typeString": "function (struct EnumerableMap.UintToAddressMap storage pointer,uint256,string memory) view returns (address)" - } - }, - "id": 8279, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4378:70:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 8274, - "id": 8280, - "nodeType": "Return", - "src": "4371:77:15" - } - ] - }, - "documentation": "@dev See {IERC721-ownerOf}.", - "functionSelector": "6352211e", - "id": 8282, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "ownerOf", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 8271, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4334:8:15" - }, - "parameters": { - "id": 8270, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8269, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8282, - "src": "4297:15:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8268, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4297:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4296:17:15" - }, - "returnParameters": { - "id": 8274, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8273, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8282, - "src": "4352:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8272, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4352:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4351:9:15" - }, - "scope": 9051, - "src": "4280:175:15", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 9191 - ], - "body": { - "id": 8290, - "nodeType": "Block", - "src": "4586:29:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 8288, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8197, - "src": "4603:5:15", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "functionReturnParameters": 8287, - "id": 8289, - "nodeType": "Return", - "src": "4596:12:15" - } - ] - }, - "documentation": "@dev See {IERC721Metadata-name}.", - "functionSelector": "06fdde03", - "id": 8291, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 8284, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4553:8:15" - }, - "parameters": { - "id": 8283, - "nodeType": "ParameterList", - "parameters": [], - "src": "4530:2:15" - }, - "returnParameters": { - "id": 8287, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8286, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8291, - "src": "4571:13:15", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 8285, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4571:6:15", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4570:15:15" - }, - "scope": 9051, - "src": "4517:98:15", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 9196 - ], - "body": { - "id": 8299, - "nodeType": "Block", - "src": "4750:31:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 8297, - "name": "_symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8199, - "src": "4767:7:15", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "functionReturnParameters": 8296, - "id": 8298, - "nodeType": "Return", - "src": "4760:14:15" - } - ] - }, - "documentation": "@dev See {IERC721Metadata-symbol}.", - "functionSelector": "95d89b41", - "id": 8300, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 8293, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4717:8:15" - }, - "parameters": { - "id": 8292, - "nodeType": "ParameterList", - "parameters": [], - "src": "4694:2:15" - }, - "returnParameters": { - "id": 8296, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8295, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8300, - "src": "4735:13:15", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 8294, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4735:6:15", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4734:15:15" - }, - "scope": 9051, - "src": "4679:102:15", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 9203 - ], - "body": { - "id": 8366, - "nodeType": "Block", - "src": "4935:688:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8310, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8302, - "src": "4961:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8309, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8649, - "src": "4953:7:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 8311, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4953:16:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732314d657461646174613a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e", - "id": 8312, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4971:49:15", - "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": 8308, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4945:7:15", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4945:76:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8314, - "nodeType": "ExpressionStatement", - "src": "4945:76:15" - }, - { - "assignments": [ - 8316 - ], - "declarations": [ - { - "constant": false, - "id": 8316, - "name": "_tokenURI", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8366, - "src": "5032:23:15", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 8315, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5032:6:15", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8320, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8317, - "name": "_tokenURIs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8203, - "src": "5058:10:15", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string storage ref)" - } - }, - "id": 8319, - "indexExpression": { - "argumentTypes": null, - "id": 8318, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8302, - "src": "5069:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5058:19:15", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5032:45:15" - }, - { - "assignments": [ - 8322 - ], - "declarations": [ - { - "constant": false, - "id": 8322, - "name": "base", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8366, - "src": "5087:18:15", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 8321, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5087:6:15", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8325, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8323, - "name": "baseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8375, - "src": "5108:7:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_string_memory_ptr_$", - "typeString": "function () view returns (string memory)" - } - }, - "id": 8324, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5108:9:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5087:30:15" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8328, - "name": "base", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8322, - "src": "5196:4:15", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 8327, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5190:5:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 8326, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5190:5:15", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8329, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5190:11:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 8330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5190:18:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 8331, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5212:1:15", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5190:23:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 8336, - "nodeType": "IfStatement", - "src": "5186:70:15", - "trueBody": { - "id": 8335, - "nodeType": "Block", - "src": "5215:41:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 8333, - "name": "_tokenURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8316, - "src": "5236:9:15", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 8307, - "id": 8334, - "nodeType": "Return", - "src": "5229:16:15" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8343, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8339, - "name": "_tokenURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8316, - "src": "5364:9:15", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 8338, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5358:5:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 8337, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5358:5:15", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8340, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5358:16:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 8341, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5358:23:15", - "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": "5384:1:15", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5358:27:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 8354, - "nodeType": "IfStatement", - "src": "5354:106:15", - "trueBody": { - "id": 8353, - "nodeType": "Block", - "src": "5387:73:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8348, - "name": "base", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8322, - "src": "5432:4:15", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 8349, - "name": "_tokenURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8316, - "src": "5438:9:15", - "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": 8346, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "5415:3:15", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 8347, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5415:16:15", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 8350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5415:33:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 8345, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5408:6:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": { - "id": 8344, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5408:6:15", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8351, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5408:41:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 8307, - "id": 8352, - "nodeType": "Return", - "src": "5401:48:15" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8359, - "name": "base", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8322, - "src": "5590:4:15", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 8360, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8302, - "src": "5596:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8361, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "toString", - "nodeType": "MemberAccess", - "referencedDeclaration": 10709, - "src": "5596:16:15", - "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": 8362, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5596:18:15", - "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": 8357, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "5573:3:15", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 8358, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5573:16:15", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 8363, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5573:42:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 8356, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5566:6:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": { - "id": 8355, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5566:6:15", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8364, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5566:50:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 8307, - "id": 8365, - "nodeType": "Return", - "src": "5559:57:15" - } - ] - }, - "documentation": "@dev See {IERC721Metadata-tokenURI}.", - "functionSelector": "c87b56dd", - "id": 8367, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tokenURI", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 8304, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4902:8:15" - }, - "parameters": { - "id": 8303, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8302, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8367, - "src": "4865:15:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8301, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4865:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4864:17:15" - }, - "returnParameters": { - "id": 8307, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8306, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8367, - "src": "4920:13:15", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 8305, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4920:6:15", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4919:15:15" - }, - "scope": 9051, - "src": "4847:776:15", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 8374, - "nodeType": "Block", - "src": "5918:32:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 8372, - "name": "_baseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8205, - "src": "5935:8:15", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "functionReturnParameters": 8371, - "id": 8373, - "nodeType": "Return", - "src": "5928:15:15" - } - ] - }, - "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": 8375, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "baseURI", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8368, - "nodeType": "ParameterList", - "parameters": [], - "src": "5871:2:15" - }, - "returnParameters": { - "id": 8371, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8370, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8375, - "src": "5903:13:15", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 8369, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5903:6:15", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5902:15:15" - }, - "scope": 9051, - "src": "5855:95:15", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 9173 - ], - "body": { - "id": 8392, - "nodeType": "Block", - "src": "6135:54:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8389, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8379, - "src": "6176:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8385, - "name": "_holderTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8183, - "src": "6152:13:15", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UintSet_$10452_storage_$", - "typeString": "mapping(address => struct EnumerableSet.UintSet storage ref)" - } - }, - "id": 8387, - "indexExpression": { - "argumentTypes": null, - "id": 8386, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8377, - "src": "6166:5:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6152:20:15", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10452_storage", - "typeString": "struct EnumerableSet.UintSet storage ref" - } - }, - "id": 8388, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "at", - "nodeType": "MemberAccess", - "referencedDeclaration": 10541, - "src": "6152:23:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_UintSet_$10452_storage_ptr_$_t_uint256_$returns$_t_uint256_$bound_to$_t_struct$_UintSet_$10452_storage_ptr_$", - "typeString": "function (struct EnumerableSet.UintSet storage pointer,uint256) view returns (uint256)" - } - }, - "id": 8390, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6152:30:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 8384, - "id": 8391, - "nodeType": "Return", - "src": "6145:37:15" - } - ] - }, - "documentation": "@dev See {IERC721Enumerable-tokenOfOwnerByIndex}.", - "functionSelector": "2f745c59", - "id": 8393, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tokenOfOwnerByIndex", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 8381, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "6108:8:15" - }, - "parameters": { - "id": 8380, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8377, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8393, - "src": "6058:13:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8376, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6058:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8379, - "name": "index", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8393, - "src": "6073:13:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8378, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6073:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6057:30:15" - }, - "returnParameters": { - "id": 8384, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8383, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8393, - "src": "6126:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8382, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6126:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6125:9:15" - }, - "scope": 9051, - "src": "6029:160:15", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 9164 - ], - "body": { - "id": 8403, - "nodeType": "Block", - "src": "6330:138:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 8399, - "name": "_tokenOwners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8185, - "src": "6440:12:15", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage", - "typeString": "struct EnumerableMap.UintToAddressMap storage ref" - } - }, - "id": 8400, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": 9935, - "src": "6440:19:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_UintToAddressMap_$9853_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_UintToAddressMap_$9853_storage_ptr_$", - "typeString": "function (struct EnumerableMap.UintToAddressMap storage pointer) view returns (uint256)" - } - }, - "id": 8401, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6440:21:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 8398, - "id": 8402, - "nodeType": "Return", - "src": "6433:28:15" - } - ] - }, - "documentation": "@dev See {IERC721Enumerable-totalSupply}.", - "functionSelector": "18160ddd", - "id": 8404, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 8395, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "6303:8:15" - }, - "parameters": { - "id": 8394, - "nodeType": "ParameterList", - "parameters": [], - "src": "6280:2:15" - }, - "returnParameters": { - "id": 8398, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8397, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8404, - "src": "6321:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8396, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6321:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6320:9:15" - }, - "scope": 9051, - "src": "6260:208:15", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 9180 - ], - "body": { - "id": 8421, - "nodeType": "Block", - "src": "6624:85:15", - "statements": [ - { - "assignments": [ - 8413, - null - ], - "declarations": [ - { - "constant": false, - "id": 8413, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8421, - "src": "6635:15:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8412, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6635:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 8418, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8416, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8406, - "src": "6672:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8414, - "name": "_tokenOwners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8185, - "src": "6656:12:15", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage", - "typeString": "struct EnumerableMap.UintToAddressMap storage ref" - } - }, - "id": 8415, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "at", - "nodeType": "MemberAccess", - "referencedDeclaration": 9973, - "src": "6656:15:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_UintToAddressMap_$9853_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_address_$bound_to$_t_struct$_UintToAddressMap_$9853_storage_ptr_$", - "typeString": "function (struct EnumerableMap.UintToAddressMap storage pointer,uint256) view returns (uint256,address)" - } - }, - "id": 8417, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6656:22:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_address_$", - "typeString": "tuple(uint256,address)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6634:44:15" - }, - { - "expression": { - "argumentTypes": null, - "id": 8419, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8413, - "src": "6695:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 8411, - "id": 8420, - "nodeType": "Return", - "src": "6688:14:15" - } - ] - }, - "documentation": "@dev See {IERC721Enumerable-tokenByIndex}.", - "functionSelector": "4f6ccce7", - "id": 8422, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tokenByIndex", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 8408, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "6597:8:15" - }, - "parameters": { - "id": 8407, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8406, - "name": "index", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8422, - "src": "6562:13:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8405, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6562:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6561:15:15" - }, - "returnParameters": { - "id": 8411, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8410, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8422, - "src": "6615:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8409, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6615:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6614:9:15" - }, - "scope": 9051, - "src": "6540:169:15", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 9119 - ], - "body": { - "id": 8464, - "nodeType": "Block", - "src": "6836:325:15", - "statements": [ - { - "assignments": [ - 8431 - ], - "declarations": [ - { - "constant": false, - "id": 8431, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8464, - "src": "6846:13:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8430, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6846:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8436, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8434, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8426, - "src": "6877:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8432, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9051, - "src": "6862:6:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$9051_$", - "typeString": "type(contract ERC721)" - } - }, - "id": 8433, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ownerOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 8282, - "src": "6862:14:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 8435, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6862:23:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6846:39:15" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 8440, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8438, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8424, - "src": "6903:2:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 8439, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8431, - "src": "6909:5:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "6903:11:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a20617070726f76616c20746f2063757272656e74206f776e6572", - "id": 8441, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6916:35:15", - "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": 8437, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6895:7:15", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6895:57:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8443, - "nodeType": "ExpressionStatement", - "src": "6895:57:15" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 8455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 8448, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8445, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9516, - "src": "6971:10:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 8446, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6971:12:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 8447, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8431, - "src": "6987:5:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "6971:21:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8451, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8431, - "src": "7020:5:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8452, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9516, - "src": "7027:10:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 8453, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7027:12:15", - "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": 8449, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9051, - "src": "6996:6:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$9051_$", - "typeString": "type(contract ERC721)" - } - }, - "id": 8450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "isApprovedForAll", - "nodeType": "MemberAccess", - "referencedDeclaration": 8535, - "src": "6996:23:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (address,address) view returns (bool)" - } - }, - "id": 8454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6996:44:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "6971:69:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c", - "id": 8456, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7054:58:15", - "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": 8444, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6963:7:15", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8457, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6963:159:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8458, - "nodeType": "ExpressionStatement", - "src": "6963:159:15" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8460, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8424, - "src": "7142:2:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8461, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8426, - "src": "7146:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8459, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9040, - "src": "7133:8:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 8462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7133:21:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8463, - "nodeType": "ExpressionStatement", - "src": "7133:21:15" - } - ] - }, - "documentation": "@dev See {IERC721-approve}.", - "functionSelector": "095ea7b3", - "id": 8465, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 8428, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "6827:8:15" - }, - "parameters": { - "id": 8427, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8424, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8465, - "src": "6783:10:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8423, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6783:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8426, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8465, - "src": "6795:15:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8425, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6795:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6782:29:15" - }, - "returnParameters": { - "id": 8429, - "nodeType": "ParameterList", - "parameters": [], - "src": "6836:0:15" - }, - "scope": 9051, - "src": "6766:395:15", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 9126 - ], - "body": { - "id": 8484, - "nodeType": "Block", - "src": "7307:132:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8475, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8467, - "src": "7333:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8474, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8649, - "src": "7325:7:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 8476, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7325:16:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e", - "id": 8477, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7343:46:15", - "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": 8473, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7317:7:15", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8478, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7317:73:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8479, - "nodeType": "ExpressionStatement", - "src": "7317:73:15" - }, - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8480, - "name": "_tokenApprovals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8189, - "src": "7408:15:15", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 8482, - "indexExpression": { - "argumentTypes": null, - "id": 8481, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8467, - "src": "7424:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7408:24:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 8472, - "id": 8483, - "nodeType": "Return", - "src": "7401:31:15" - } - ] - }, - "documentation": "@dev See {IERC721-getApproved}.", - "functionSelector": "081812fc", - "id": 8485, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getApproved", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 8469, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "7280:8:15" - }, - "parameters": { - "id": 8468, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8467, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8485, - "src": "7243:15:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8466, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7243:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7242:17:15" - }, - "returnParameters": { - "id": 8472, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8471, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8485, - "src": "7298:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8470, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7298:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7297:9:15" - }, - "scope": 9051, - "src": "7222:217:15", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 9133 - ], - "body": { - "id": 8517, - "nodeType": "Block", - "src": "7590:206:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 8497, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8494, - "name": "operator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8487, - "src": "7608:8:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8495, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9516, - "src": "7620:10:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 8496, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7620:12:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "7608:24:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a20617070726f766520746f2063616c6c6572", - "id": 8498, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7634:27:15", - "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": 8493, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7600:7:15", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8499, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7600:62:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8500, - "nodeType": "ExpressionStatement", - "src": "7600:62:15" - }, - { - "expression": { - "argumentTypes": null, - "id": 8508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8501, - "name": "_operatorApprovals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8195, - "src": "7673:18:15", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - } - }, - "id": 8505, - "indexExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8502, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9516, - "src": "7692:10:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 8503, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7692:12:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7673:32:15", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 8506, - "indexExpression": { - "argumentTypes": null, - "id": 8504, - "name": "operator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8487, - "src": "7706:8:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7673:42:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8507, - "name": "approved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8489, - "src": "7718:8:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "7673:53:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 8509, - "nodeType": "ExpressionStatement", - "src": "7673:53:15" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8511, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9516, - "src": "7756:10:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 8512, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7756:12:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 8513, - "name": "operator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8487, - "src": "7770:8:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8514, - "name": "approved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8489, - "src": "7780:8:15", - "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": 8510, - "name": "ApprovalForAll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9080, - "src": "7741:14:15", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bool_$returns$__$", - "typeString": "function (address,address,bool)" - } - }, - "id": 8515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7741:48:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8516, - "nodeType": "EmitStatement", - "src": "7736:53:15" - } - ] - }, - "documentation": "@dev See {IERC721-setApprovalForAll}.", - "functionSelector": "a22cb465", - "id": 8518, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "setApprovalForAll", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 8491, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "7581:8:15" - }, - "parameters": { - "id": 8490, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8487, - "name": "operator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8518, - "src": "7533:16:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8486, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7533:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8489, - "name": "approved", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8518, - "src": "7551:13:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 8488, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7551:4:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7532:33:15" - }, - "returnParameters": { - "id": 8492, - "nodeType": "ParameterList", - "parameters": [], - "src": "7590:0:15" - }, - "scope": 9051, - "src": "7506:290:15", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 9142 - ], - "body": { - "id": 8534, - "nodeType": "Block", - "src": "7965:59:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8528, - "name": "_operatorApprovals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8195, - "src": "7982:18:15", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - } - }, - "id": 8530, - "indexExpression": { - "argumentTypes": null, - "id": 8529, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8520, - "src": "8001:5:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7982:25:15", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 8532, - "indexExpression": { - "argumentTypes": null, - "id": 8531, - "name": "operator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8522, - "src": "8008:8:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7982:35:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 8527, - "id": 8533, - "nodeType": "Return", - "src": "7975:42:15" - } - ] - }, - "documentation": "@dev See {IERC721-isApprovedForAll}.", - "functionSelector": "e985e9c5", - "id": 8535, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isApprovedForAll", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 8524, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "7941:8:15" - }, - "parameters": { - "id": 8523, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8520, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8535, - "src": "7888:13:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8519, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7888:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8522, - "name": "operator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8535, - "src": "7903:16:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8521, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7903:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7887:33:15" - }, - "returnParameters": { - "id": 8527, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8526, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8535, - "src": "7959:4:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 8525, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7959:4:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7958:6:15" - }, - "scope": 9051, - "src": "7862:162:15", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 9112 - ], - "body": { - "id": 8560, - "nodeType": "Block", - "src": "8175:211:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8547, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9516, - "src": "8264:10:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 8548, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8264:12:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 8549, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8541, - "src": "8278:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8546, - "name": "_isApprovedOrOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8690, - "src": "8245:18:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) view returns (bool)" - } - }, - "id": 8550, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8245:41:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564", - "id": 8551, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8288:51:15", - "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": 8545, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "8237:7:15", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8552, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8237:103:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8553, - "nodeType": "ExpressionStatement", - "src": "8237:103:15" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8555, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8537, - "src": "8361:4:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8556, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8539, - "src": "8367:2:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8557, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8541, - "src": "8371:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8554, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8929, - "src": "8351:9:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 8558, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8351:28:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8559, - "nodeType": "ExpressionStatement", - "src": "8351:28:15" - } - ] - }, - "documentation": "@dev See {IERC721-transferFrom}.", - "functionSelector": "23b872dd", - "id": 8561, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 8543, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "8166:8:15" - }, - "parameters": { - "id": 8542, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8537, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8561, - "src": "8108:12:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8536, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8108:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8539, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8561, - "src": "8122:10:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8538, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8122:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8541, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8561, - "src": "8134:15:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8540, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8134:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8107:43:15" - }, - "returnParameters": { - "id": 8544, - "nodeType": "ParameterList", - "parameters": [], - "src": "8175:0:15" - }, - "scope": 9051, - "src": "8086:300:15", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 9103 - ], - "body": { - "id": 8578, - "nodeType": "Block", - "src": "8545:56:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8572, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8563, - "src": "8572:4:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8573, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8565, - "src": "8578:2:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8574, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8567, - "src": "8582:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "", - "id": 8575, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8591:2:15", - "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": 8571, - "name": "safeTransferFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 8579, - 8608 - ], - "referencedDeclaration": 8608, - "src": "8555:16:15", - "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": 8576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8555:39:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8577, - "nodeType": "ExpressionStatement", - "src": "8555:39:15" - } - ] - }, - "documentation": "@dev See {IERC721-safeTransferFrom}.", - "functionSelector": "42842e0e", - "id": 8579, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "safeTransferFrom", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 8569, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "8536:8:15" - }, - "parameters": { - "id": 8568, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8563, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8579, - "src": "8478:12:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8562, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8478:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8565, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8579, - "src": "8492:10:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8564, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8492:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8567, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8579, - "src": "8504:15:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8566, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8504:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8477:43:15" - }, - "returnParameters": { - "id": 8570, - "nodeType": "ParameterList", - "parameters": [], - "src": "8545:0:15" - }, - "scope": 9051, - "src": "8452:149:15", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 9153 - ], - "body": { - "id": 8607, - "nodeType": "Block", - "src": "8780:169:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8593, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9516, - "src": "8817:10:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 8594, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8817:12:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 8595, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8585, - "src": "8831:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8592, - "name": "_isApprovedOrOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8690, - "src": "8798:18:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) view returns (bool)" - } - }, - "id": 8596, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8798:41:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564", - "id": 8597, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8841:51:15", - "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": 8591, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "8790:7:15", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8598, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8790:103:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8599, - "nodeType": "ExpressionStatement", - "src": "8790:103:15" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8601, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8581, - "src": "8917:4:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8602, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8583, - "src": "8923:2:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8603, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8585, - "src": "8927:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8604, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8587, - "src": "8936:5:15", - "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": 8600, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8636, - "src": "8903:13:15", - "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": 8605, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8903:39:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8606, - "nodeType": "ExpressionStatement", - "src": "8903:39:15" - } - ] - }, - "documentation": "@dev See {IERC721-safeTransferFrom}.", - "functionSelector": "b88d4fde", - "id": 8608, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "safeTransferFrom", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 8589, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "8771:8:15" - }, - "parameters": { - "id": 8588, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8581, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8608, - "src": "8693:12:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8580, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8693:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8583, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8608, - "src": "8707:10:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8582, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8707:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8585, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8608, - "src": "8719:15:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8584, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8719:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8587, - "name": "_data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8608, - "src": "8736:18:15", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 8586, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "8736:5:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8692:63:15" - }, - "returnParameters": { - "id": 8590, - "nodeType": "ParameterList", - "parameters": [], - "src": "8780:0:15" - }, - "scope": 9051, - "src": "8667:282:15", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 8635, - "nodeType": "Block", - "src": "9914:166:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8620, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8610, - "src": "9934:4:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8621, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8612, - "src": "9940:2:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8622, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8614, - "src": "9944:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8619, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8929, - "src": "9924:9:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 8623, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9924:28:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8624, - "nodeType": "ExpressionStatement", - "src": "9924:28:15" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8627, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8610, - "src": "9993:4:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8628, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8612, - "src": "9999:2:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8629, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8614, - "src": "10003:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8630, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8616, - "src": "10012:5:15", - "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": 8626, - "name": "_checkOnERC721Received", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9017, - "src": "9970:22:15", - "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": 8631, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9970:48:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e746572", - "id": 8632, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10020:52:15", - "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": 8625, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "9962:7:15", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8633, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9962:111:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8634, - "nodeType": "ExpressionStatement", - "src": "9962:111:15" - } - ] - }, - "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": 8636, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_safeTransfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8617, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8610, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8636, - "src": "9834:12:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8609, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9834:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8612, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8636, - "src": "9848:10:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8611, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9848:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8614, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8636, - "src": "9860:15:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8613, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9860:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8616, - "name": "_data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8636, - "src": "9877:18:15", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 8615, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "9877:5:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9833:63:15" - }, - "returnParameters": { - "id": 8618, - "nodeType": "ParameterList", - "parameters": [], - "src": "9914:0:15" - }, - "scope": 9051, - "src": "9811:269:15", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 8648, - "nodeType": "Block", - "src": "10454:54:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8645, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8638, - "src": "10493:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8643, - "name": "_tokenOwners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8185, - "src": "10471:12:15", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage", - "typeString": "struct EnumerableMap.UintToAddressMap storage ref" - } - }, - "id": 8644, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "contains", - "nodeType": "MemberAccess", - "referencedDeclaration": 9922, - "src": "10471:21:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_UintToAddressMap_$9853_storage_ptr_$_t_uint256_$returns$_t_bool_$bound_to$_t_struct$_UintToAddressMap_$9853_storage_ptr_$", - "typeString": "function (struct EnumerableMap.UintToAddressMap storage pointer,uint256) view returns (bool)" - } - }, - "id": 8646, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10471:30:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 8642, - "id": 8647, - "nodeType": "Return", - "src": "10464:37:15" - } - ] - }, - "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": 8649, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_exists", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8639, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8638, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8649, - "src": "10400:15:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8637, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10400:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10399:17:15" - }, - "returnParameters": { - "id": 8642, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8641, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8649, - "src": "10448:4:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 8640, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10448:4:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10447:6:15" - }, - "scope": 9051, - "src": "10383:125:15", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 8689, - "nodeType": "Block", - "src": "10765:252:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8660, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8653, - "src": "10791:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8659, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8649, - "src": "10783:7:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 8661, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10783:16:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e", - "id": 8662, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10801:46:15", - "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": 8658, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "10775:7:15", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10775:73:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8664, - "nodeType": "ExpressionStatement", - "src": "10775:73:15" - }, - { - "assignments": [ - 8666 - ], - "declarations": [ - { - "constant": false, - "id": 8666, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8689, - "src": "10858:13:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8665, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10858:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8671, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8669, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8653, - "src": "10889:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8667, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9051, - "src": "10874:6:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$9051_$", - "typeString": "type(contract ERC721)" - } - }, - "id": 8668, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ownerOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 8282, - "src": "10874:14:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 8670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10874:23:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10858:39:15" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 8686, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 8680, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 8674, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8672, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8651, - "src": "10915:7:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 8673, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8666, - "src": "10926:5:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "10915:16:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 8679, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8676, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8653, - "src": "10947:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8675, - "name": "getApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8485, - "src": "10935:11:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 8677, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10935:20:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 8678, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8651, - "src": "10959:7:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "10935:31:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "10915:51:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8683, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8666, - "src": "10994:5:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8684, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8651, - "src": "11001:7:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 8681, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9051, - "src": "10970:6:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$9051_$", - "typeString": "type(contract ERC721)" - } - }, - "id": 8682, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "isApprovedForAll", - "nodeType": "MemberAccess", - "referencedDeclaration": 8535, - "src": "10970:23:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (address,address) view returns (bool)" - } - }, - "id": 8685, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10970:39:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "10915:94:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 8687, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10914:96:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 8657, - "id": 8688, - "nodeType": "Return", - "src": "10907:103:15" - } - ] - }, - "documentation": "@dev Returns whether `spender` is allowed to manage `tokenId`.\n * Requirements:\n * - `tokenId` must exist.", - "id": 8690, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_isApprovedOrOwner", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8654, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8651, - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8690, - "src": "10694:15:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8650, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10694:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8653, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8690, - "src": "10711:15:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8652, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10711:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10693:34:15" - }, - "returnParameters": { - "id": 8657, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8656, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8690, - "src": "10759:4:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 8655, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10759:4:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10758:6:15" - }, - "scope": 9051, - "src": "10666:351:15", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 8703, - "nodeType": "Block", - "src": "11413:43:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8698, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8692, - "src": "11433:2:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8699, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8694, - "src": "11437:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "", - "id": 8700, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11446:2:15", - "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": 8697, - "name": "_safeMint", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 8704, - 8732 - ], - "referencedDeclaration": 8732, - "src": "11423:9:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,uint256,bytes memory)" - } - }, - "id": 8701, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11423:26:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8702, - "nodeType": "ExpressionStatement", - "src": "11423:26:15" - } - ] - }, - "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": 8704, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_safeMint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8695, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8692, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8704, - "src": "11367:10:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8691, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11367:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8694, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8704, - "src": "11379:15:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8693, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11379:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11366:29:15" - }, - "returnParameters": { - "id": 8696, - "nodeType": "ParameterList", - "parameters": [], - "src": "11413:0:15" - }, - "scope": 9051, - "src": "11348:108:15", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 8731, - "nodeType": "Block", - "src": "11762:162:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8714, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8706, - "src": "11778:2:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8715, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8708, - "src": "11782:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8713, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8790, - "src": "11772:5:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 8716, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11772:18:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8717, - "nodeType": "ExpressionStatement", - "src": "11772:18:15" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 8722, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11839:1:15", - "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": 8721, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11831:7:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 8720, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11831:7:15", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8723, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11831:10:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 8724, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8706, - "src": "11843:2:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8725, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8708, - "src": "11847:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8726, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8710, - "src": "11856:5:15", - "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": 8719, - "name": "_checkOnERC721Received", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9017, - "src": "11808:22:15", - "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": 8727, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11808:54:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e746572", - "id": 8728, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11864:52:15", - "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": 8718, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "11800:7:15", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8729, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11800:117:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8730, - "nodeType": "ExpressionStatement", - "src": "11800:117:15" - } - ] - }, - "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": 8732, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_safeMint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8711, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8706, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8732, - "src": "11696:10:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8705, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11696:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8708, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8732, - "src": "11708:15:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8707, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11708:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8710, - "name": "_data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8732, - "src": "11725:18:15", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 8709, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "11725:5:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11695:49:15" - }, - "returnParameters": { - "id": 8712, - "nodeType": "ParameterList", - "parameters": [], - "src": "11762:0:15" - }, - "scope": 9051, - "src": "11677:247:15", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 8789, - "nodeType": "Block", - "src": "12307:332:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 8745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8740, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8734, - "src": "12325:2:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 8743, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12339:1:15", - "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": 8742, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12331:7:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 8741, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12331:7:15", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8744, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12331:10:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "12325:16:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a206d696e7420746f20746865207a65726f2061646472657373", - "id": 8746, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12343:34:15", - "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": 8739, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12317:7:15", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8747, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12317:61:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8748, - "nodeType": "ExpressionStatement", - "src": "12317:61:15" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8753, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "12396:17:15", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8751, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8736, - "src": "12405:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8750, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8649, - "src": "12397:7:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 8752, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12397:16:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a20746f6b656e20616c7265616479206d696e746564", - "id": 8754, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12415:30:15", - "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": 8749, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12388:7:15", - "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": "12388:58:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8756, - "nodeType": "ExpressionStatement", - "src": "12388:58:15" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 8760, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12486:1:15", - "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": 8759, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12478:7:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 8758, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12478:7:15", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8761, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12478:10:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 8762, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8734, - "src": "12490:2:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8763, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8736, - "src": "12494:7:15", - "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": 8757, - "name": "_beforeTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9050, - "src": "12457:20:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 8764, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12457:45:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8765, - "nodeType": "ExpressionStatement", - "src": "12457:45:15" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8770, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8736, - "src": "12535:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8766, - "name": "_holderTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8183, - "src": "12513:13:15", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UintSet_$10452_storage_$", - "typeString": "mapping(address => struct EnumerableSet.UintSet storage ref)" - } - }, - "id": 8768, - "indexExpression": { - "argumentTypes": null, - "id": 8767, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8734, - "src": "12527:2:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12513:17:15", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10452_storage", - "typeString": "struct EnumerableSet.UintSet storage ref" - } - }, - "id": 8769, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 10471, - "src": "12513:21:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_UintSet_$10452_storage_ptr_$_t_uint256_$returns$_t_bool_$bound_to$_t_struct$_UintSet_$10452_storage_ptr_$", - "typeString": "function (struct EnumerableSet.UintSet storage pointer,uint256) returns (bool)" - } - }, - "id": 8771, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12513:30:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 8772, - "nodeType": "ExpressionStatement", - "src": "12513:30:15" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8776, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8736, - "src": "12571:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8777, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8734, - "src": "12580:2:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 8773, - "name": "_tokenOwners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8185, - "src": "12554:12:15", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage", - "typeString": "struct EnumerableMap.UintToAddressMap storage ref" - } - }, - "id": 8775, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "set", - "nodeType": "MemberAccess", - "referencedDeclaration": 9884, - "src": "12554:16:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_UintToAddressMap_$9853_storage_ptr_$_t_uint256_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_UintToAddressMap_$9853_storage_ptr_$", - "typeString": "function (struct EnumerableMap.UintToAddressMap storage pointer,uint256,address) returns (bool)" - } - }, - "id": 8778, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12554:29:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 8779, - "nodeType": "ExpressionStatement", - "src": "12554:29:15" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 8783, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12616:1:15", - "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": 8782, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12608:7:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 8781, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12608:7:15", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8784, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12608:10:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 8785, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8734, - "src": "12620:2:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8786, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8736, - "src": "12624:7:15", - "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": 8780, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9064, - "src": "12599:8:15", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 8787, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12599:33:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8788, - "nodeType": "EmitStatement", - "src": "12594:38:15" - } - ] - }, - "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": 8790, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8737, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8734, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8790, - "src": "12261:10:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8733, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12261:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8736, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8790, - "src": "12273:15:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8735, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12273:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12260:29:15" - }, - "returnParameters": { - "id": 8738, - "nodeType": "ParameterList", - "parameters": [], - "src": "12307:0:15" - }, - "scope": 9051, - "src": "12246:393:15", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 8857, - "nodeType": "Block", - "src": "12905:478:15", - "statements": [ - { - "assignments": [ - 8796 - ], - "declarations": [ - { - "constant": false, - "id": 8796, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8857, - "src": "12915:13:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8795, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12915:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8801, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8799, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8792, - "src": "12946:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8797, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9051, - "src": "12931:6:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$9051_$", - "typeString": "type(contract ERC721)" - } - }, - "id": 8798, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ownerOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 8282, - "src": "12931:14:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 8800, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12931:23:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12915:39:15" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8803, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8796, - "src": "13004:5:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 8806, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13019:1:15", - "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": 8805, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13011:7:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 8804, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13011:7:15", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8807, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13011:10:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 8808, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8792, - "src": "13023:7:15", - "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": 8802, - "name": "_beforeTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9050, - "src": "12983:20:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 8809, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12983:48:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8810, - "nodeType": "ExpressionStatement", - "src": "12983:48:15" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 8814, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13086:1:15", - "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": 8813, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13078:7:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 8812, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13078:7:15", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8815, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13078:10:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 8816, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8792, - "src": "13090:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8811, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9040, - "src": "13069:8:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 8817, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13069:29:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8818, - "nodeType": "ExpressionStatement", - "src": "13069:29:15" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8827, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8821, - "name": "_tokenURIs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8203, - "src": "13154:10:15", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string storage ref)" - } - }, - "id": 8823, - "indexExpression": { - "argumentTypes": null, - "id": 8822, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8792, - "src": "13165:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13154:19:15", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - ], - "id": 8820, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13148:5:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 8819, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "13148:5:15", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8824, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13148:26:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes storage pointer" - } - }, - "id": 8825, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13148:33:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 8826, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13185:1:15", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "13148:38:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 8834, - "nodeType": "IfStatement", - "src": "13144:95:15", - "trueBody": { - "id": 8833, - "nodeType": "Block", - "src": "13188:51:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 8831, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "13202:26:15", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8828, - "name": "_tokenURIs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8203, - "src": "13209:10:15", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string storage ref)" - } - }, - "id": 8830, - "indexExpression": { - "argumentTypes": null, - "id": 8829, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8792, - "src": "13220:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "13209:19:15", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8832, - "nodeType": "ExpressionStatement", - "src": "13202:26:15" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8839, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8792, - "src": "13277:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8835, - "name": "_holderTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8183, - "src": "13249:13:15", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UintSet_$10452_storage_$", - "typeString": "mapping(address => struct EnumerableSet.UintSet storage ref)" - } - }, - "id": 8837, - "indexExpression": { - "argumentTypes": null, - "id": 8836, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8796, - "src": "13263:5:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13249:20:15", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10452_storage", - "typeString": "struct EnumerableSet.UintSet storage ref" - } - }, - "id": 8838, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "remove", - "nodeType": "MemberAccess", - "referencedDeclaration": 10490, - "src": "13249:27:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_UintSet_$10452_storage_ptr_$_t_uint256_$returns$_t_bool_$bound_to$_t_struct$_UintSet_$10452_storage_ptr_$", - "typeString": "function (struct EnumerableSet.UintSet storage pointer,uint256) returns (bool)" - } - }, - "id": 8840, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13249:36:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 8841, - "nodeType": "ExpressionStatement", - "src": "13249:36:15" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8845, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8792, - "src": "13316:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8842, - "name": "_tokenOwners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8185, - "src": "13296:12:15", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage", - "typeString": "struct EnumerableMap.UintToAddressMap storage ref" - } - }, - "id": 8844, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "remove", - "nodeType": "MemberAccess", - "referencedDeclaration": 9903, - "src": "13296:19:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_UintToAddressMap_$9853_storage_ptr_$_t_uint256_$returns$_t_bool_$bound_to$_t_struct$_UintToAddressMap_$9853_storage_ptr_$", - "typeString": "function (struct EnumerableMap.UintToAddressMap storage pointer,uint256) returns (bool)" - } - }, - "id": 8846, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13296:28:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 8847, - "nodeType": "ExpressionStatement", - "src": "13296:28:15" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8849, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8796, - "src": "13349:5:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 8852, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13364:1:15", - "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": 8851, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13356:7:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 8850, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13356:7:15", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8853, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13356:10:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 8854, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8792, - "src": "13368:7:15", - "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": 8848, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9064, - "src": "13340:8:15", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 8855, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13340:36:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8856, - "nodeType": "EmitStatement", - "src": "13335:41:15" - } - ] - }, - "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": 8858, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8793, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8792, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8858, - "src": "12871:15:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8791, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12871:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12870:17:15" - }, - "returnParameters": { - "id": 8794, - "nodeType": "ParameterList", - "parameters": [], - "src": "12905:0:15" - }, - "scope": 9051, - "src": "12856:527:15", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 8928, - "nodeType": "Block", - "src": "13786:505:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 8873, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8870, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8864, - "src": "13819:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8868, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9051, - "src": "13804:6:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$9051_$", - "typeString": "type(contract ERC721)" - } - }, - "id": 8869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ownerOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 8282, - "src": "13804:14:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 8871, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13804:23:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 8872, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8860, - "src": "13831:4:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13804:31:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e", - "id": 8874, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13837:43:15", - "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": 8867, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "13796:7:15", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8875, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13796:85:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8876, - "nodeType": "ExpressionStatement", - "src": "13796:85:15" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 8883, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8878, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8862, - "src": "13917:2:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 8881, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13931:1:15", - "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": 8880, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13923:7:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 8879, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13923:7:15", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8882, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13923:10:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "13917:16:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a207472616e7366657220746f20746865207a65726f2061646472657373", - "id": 8884, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13935:38:15", - "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": 8877, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "13909:7:15", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8885, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13909:65:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8886, - "nodeType": "ExpressionStatement", - "src": "13909:65:15" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8888, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8860, - "src": "14006:4:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8889, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8862, - "src": "14012:2:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8890, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8864, - "src": "14016:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8887, - "name": "_beforeTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9050, - "src": "13985:20:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 8891, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13985:39:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8892, - "nodeType": "ExpressionStatement", - "src": "13985:39:15" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 8896, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14103:1:15", - "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": 8895, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14095:7:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 8894, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14095:7:15", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8897, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14095:10:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 8898, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8864, - "src": "14107:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8893, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9040, - "src": "14086:8:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 8899, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14086:29:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8900, - "nodeType": "ExpressionStatement", - "src": "14086:29:15" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8905, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8864, - "src": "14153:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8901, - "name": "_holderTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8183, - "src": "14126:13:15", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UintSet_$10452_storage_$", - "typeString": "mapping(address => struct EnumerableSet.UintSet storage ref)" - } - }, - "id": 8903, - "indexExpression": { - "argumentTypes": null, - "id": 8902, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8860, - "src": "14140:4:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14126:19:15", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10452_storage", - "typeString": "struct EnumerableSet.UintSet storage ref" - } - }, - "id": 8904, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "remove", - "nodeType": "MemberAccess", - "referencedDeclaration": 10490, - "src": "14126:26:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_UintSet_$10452_storage_ptr_$_t_uint256_$returns$_t_bool_$bound_to$_t_struct$_UintSet_$10452_storage_ptr_$", - "typeString": "function (struct EnumerableSet.UintSet storage pointer,uint256) returns (bool)" - } - }, - "id": 8906, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14126:35:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 8907, - "nodeType": "ExpressionStatement", - "src": "14126:35:15" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8912, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8864, - "src": "14193:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8908, - "name": "_holderTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8183, - "src": "14171:13:15", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UintSet_$10452_storage_$", - "typeString": "mapping(address => struct EnumerableSet.UintSet storage ref)" - } - }, - "id": 8910, - "indexExpression": { - "argumentTypes": null, - "id": 8909, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8862, - "src": "14185:2:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14171:17:15", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10452_storage", - "typeString": "struct EnumerableSet.UintSet storage ref" - } - }, - "id": 8911, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 10471, - "src": "14171:21:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_UintSet_$10452_storage_ptr_$_t_uint256_$returns$_t_bool_$bound_to$_t_struct$_UintSet_$10452_storage_ptr_$", - "typeString": "function (struct EnumerableSet.UintSet storage pointer,uint256) returns (bool)" - } - }, - "id": 8913, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14171:30:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 8914, - "nodeType": "ExpressionStatement", - "src": "14171:30:15" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8918, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8864, - "src": "14229:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8919, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8862, - "src": "14238:2:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 8915, - "name": "_tokenOwners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8185, - "src": "14212:12:15", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage", - "typeString": "struct EnumerableMap.UintToAddressMap storage ref" - } - }, - "id": 8917, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "set", - "nodeType": "MemberAccess", - "referencedDeclaration": 9884, - "src": "14212:16:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_UintToAddressMap_$9853_storage_ptr_$_t_uint256_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_UintToAddressMap_$9853_storage_ptr_$", - "typeString": "function (struct EnumerableMap.UintToAddressMap storage pointer,uint256,address) returns (bool)" - } - }, - "id": 8920, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14212:29:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 8921, - "nodeType": "ExpressionStatement", - "src": "14212:29:15" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8923, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8860, - "src": "14266:4:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8924, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8862, - "src": "14272:2:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8925, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8864, - "src": "14276:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8922, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9064, - "src": "14257:8:15", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 8926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14257:27:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8927, - "nodeType": "EmitStatement", - "src": "14252:32:15" - } - ] - }, - "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": 8929, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8865, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8860, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8929, - "src": "13726:12:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8859, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13726:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8862, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8929, - "src": "13740:10:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8861, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13740:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8864, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8929, - "src": "13752:15:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8863, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13752:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13725:43:15" - }, - "returnParameters": { - "id": 8866, - "nodeType": "ParameterList", - "parameters": [], - "src": "13786:0:15" - }, - "scope": 9051, - "src": "13707:584:15", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 8949, - "nodeType": "Block", - "src": "14519:131:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8938, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8931, - "src": "14545:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8937, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8649, - "src": "14537:7:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 8939, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14537:16:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732314d657461646174613a2055524920736574206f66206e6f6e6578697374656e7420746f6b656e", - "id": 8940, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14555:46:15", - "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": 8936, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "14529:7:15", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8941, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14529:73:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8942, - "nodeType": "ExpressionStatement", - "src": "14529:73:15" - }, - { - "expression": { - "argumentTypes": null, - "id": 8947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8943, - "name": "_tokenURIs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8203, - "src": "14612:10:15", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string storage ref)" - } - }, - "id": 8945, - "indexExpression": { - "argumentTypes": null, - "id": 8944, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8931, - "src": "14623:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "14612:19:15", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8946, - "name": "_tokenURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8933, - "src": "14634:9:15", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "14612:31:15", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 8948, - "nodeType": "ExpressionStatement", - "src": "14612:31:15" - } - ] - }, - "documentation": "@dev Sets `_tokenURI` as the tokenURI of `tokenId`.\n * Requirements:\n * - `tokenId` must exist.", - "id": 8950, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_setTokenURI", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8934, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8931, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8950, - "src": "14460:15:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8930, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14460:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8933, - "name": "_tokenURI", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8950, - "src": "14477:23:15", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 8932, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "14477:6:15", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14459:42:15" - }, - "returnParameters": { - "id": 8935, - "nodeType": "ParameterList", - "parameters": [], - "src": "14519:0:15" - }, - "scope": 9051, - "src": "14438:212:15", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 8959, - "nodeType": "Block", - "src": "14935:36:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 8957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8955, - "name": "_baseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8205, - "src": "14945:8:15", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8956, - "name": "baseURI_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8952, - "src": "14956:8:15", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "14945:19:15", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 8958, - "nodeType": "ExpressionStatement", - "src": "14945:19:15" - } - ] - }, - "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": 8960, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_setBaseURI", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8953, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8952, - "name": "baseURI_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8960, - "src": "14894:22:15", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 8951, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "14894:6:15", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14893:24:15" - }, - "returnParameters": { - "id": 8954, - "nodeType": "ParameterList", - "parameters": [], - "src": "14935:0:15" - }, - "scope": 9051, - "src": "14873:98:15", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 9016, - "nodeType": "Block", - "src": "15654:459:15", - "statements": [ - { - "condition": { - "argumentTypes": null, - "id": 8976, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "15668:16:15", - "subExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 8973, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8964, - "src": "15669:2:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 8974, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "isContract", - "nodeType": "MemberAccess", - "referencedDeclaration": 9238, - "src": "15669:13:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$bound_to$_t_address_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 8975, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15669:15:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 8980, - "nodeType": "IfStatement", - "src": "15664:58:15", - "trueBody": { - "id": 8979, - "nodeType": "Block", - "src": "15686:36:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 8977, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15707:4:15", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 8972, - "id": 8978, - "nodeType": "Return", - "src": "15700:11:15" - } - ] - } - }, - { - "assignments": [ - 8982 - ], - "declarations": [ - { - "constant": false, - "id": 8982, - "name": "returndata", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9016, - "src": "15731:23:15", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 8981, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "15731:5:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9000, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8988, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8964, - "src": "15825:2:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 8987, - "name": "IERC721Receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9220, - "src": "15809:15:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC721Receiver_$9220_$", - "typeString": "type(contract IERC721Receiver)" - } - }, - "id": 8989, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15809:19:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721Receiver_$9220", - "typeString": "contract IERC721Receiver" - } - }, - "id": 8990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "onERC721Received", - "nodeType": "MemberAccess", - "referencedDeclaration": 9219, - "src": "15809:36:15", - "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": 8991, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15809:45:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8992, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9516, - "src": "15868:10:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 8993, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15868:12:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 8994, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8962, - "src": "15894:4:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8995, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8966, - "src": "15912:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8996, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8968, - "src": "15933:5:15", - "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": 8985, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "15773:3:15", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 8986, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15773:22:15", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 8997, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15773:175:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e746572", - "id": 8998, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15950:52:15", - "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": 8983, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8964, - "src": "15757:2:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 8984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "functionCall", - "nodeType": "MemberAccess", - "referencedDeclaration": 9306, - "src": "15757:15:15", - "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": 8999, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15757:246:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15731:272:15" - }, - { - "assignments": [ - 9002 - ], - "declarations": [ - { - "constant": false, - "id": 9002, - "name": "retval", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9016, - "src": "16013:13:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 9001, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "16013:6:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9010, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9005, - "name": "returndata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8982, - "src": "16040:10:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 9007, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16053:6:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes4_$", - "typeString": "type(bytes4)" - }, - "typeName": { - "id": 9006, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "16053:6:15", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - } - ], - "id": 9008, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "16052:8:15", - "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": 9003, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "16029:3:15", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 9004, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "decode", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16029:10:15", - "typeDescriptions": { - "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 9009, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16029:32:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16013:48:15" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 9013, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9011, - "name": "retval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9002, - "src": "16079:6:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 9012, - "name": "_ERC721_RECEIVED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8179, - "src": "16089:16:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "16079:26:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 9014, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "16078:28:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 8972, - "id": 9015, - "nodeType": "Return", - "src": "16071:35:15" - } - ] - }, - "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": 9017, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_checkOnERC721Received", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8969, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8962, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9017, - "src": "15556:12:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8961, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15556:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8964, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9017, - "src": "15570:10:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8963, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15570:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8966, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9017, - "src": "15582:15:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8965, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15582:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8968, - "name": "_data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9017, - "src": "15599:18:15", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 8967, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "15599:5:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15555:63:15" - }, - "returnParameters": { - "id": 8972, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8971, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9017, - "src": "15644:4:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 8970, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "15644:4:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15643:6:15" - }, - "scope": 9051, - "src": "15524:589:15", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 9039, - "nodeType": "Block", - "src": "16289:125:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 9028, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 9024, - "name": "_tokenApprovals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8189, - "src": "16299:15:15", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 9026, - "indexExpression": { - "argumentTypes": null, - "id": 9025, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9021, - "src": "16315:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "16299:24:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 9027, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9019, - "src": "16326:2:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "16299:29:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 9029, - "nodeType": "ExpressionStatement", - "src": "16299:29:15" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9033, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9021, - "src": "16367:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9031, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9051, - "src": "16352:6:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$9051_$", - "typeString": "type(contract ERC721)" - } - }, - "id": 9032, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ownerOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 8282, - "src": "16352:14:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 9034, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16352:23:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9035, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9019, - "src": "16377:2:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9036, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9021, - "src": "16381:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9030, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9072, - "src": "16343:8:15", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 9037, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16343:46:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9038, - "nodeType": "EmitStatement", - "src": "16338:51:15" - } - ] - }, - "documentation": "@dev Approve `to` to operate on `tokenId`\n * Emits an {Approval} event.", - "id": 9040, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9022, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9019, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9040, - "src": "16243:10:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9018, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16243:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9021, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9040, - "src": "16255:15:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9020, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16255:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16242:29:15" - }, - "returnParameters": { - "id": 9023, - "nodeType": "ParameterList", - "parameters": [], - "src": "16289:0:15" - }, - "scope": 9051, - "src": "16225:189:15", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 9049, - "nodeType": "Block", - "src": "17100:3:15", - "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": 9050, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_beforeTokenTransfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9047, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9042, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9050, - "src": "17040:12:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9041, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17040:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9044, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9050, - "src": "17054:10:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9043, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17054:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9046, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9050, - "src": "17066:15:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9045, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17066:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17039:43:15" - }, - "returnParameters": { - "id": 9048, - "nodeType": "ParameterList", - "parameters": [], - "src": "17100:0:15" - }, - "scope": 9051, - "src": "17010:93:15", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - } - ], - "scope": 9052, - "src": "571:16534:15" - } - ], - "src": "33:17073:15" - }, - "legacyAST": { - "absolutePath": "@openzeppelin/contracts/token/ERC721/ERC721.sol", - "exportedSymbols": { - "ERC721": [ - 9051 - ] - }, - "id": 9052, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 8140, - "literals": [ - "solidity", - ">=", - "0.6", - ".0", - "<", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:31:15" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Context.sol", - "file": "../../utils/Context.sol", - "id": 8141, - "nodeType": "ImportDirective", - "scope": 9052, - "sourceUnit": 9529, - "src": "66:33:15", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721.sol", - "file": "./IERC721.sol", - "id": 8142, - "nodeType": "ImportDirective", - "scope": 9052, - "sourceUnit": 9155, - "src": "100:23:15", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721Metadata.sol", - "file": "./IERC721Metadata.sol", - "id": 8143, - "nodeType": "ImportDirective", - "scope": 9052, - "sourceUnit": 9205, - "src": "124:31:15", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721Enumerable.sol", - "file": "./IERC721Enumerable.sol", - "id": 8144, - "nodeType": "ImportDirective", - "scope": 9052, - "sourceUnit": 9182, - "src": "156:33:15", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol", - "file": "./IERC721Receiver.sol", - "id": 8145, - "nodeType": "ImportDirective", - "scope": 9052, - "sourceUnit": 9221, - "src": "190:31:15", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/introspection/ERC165.sol", - "file": "../../introspection/ERC165.sol", - "id": 8146, - "nodeType": "ImportDirective", - "scope": 9052, - "sourceUnit": 7235, - "src": "222:40:15", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/math/SafeMath.sol", - "file": "../../math/SafeMath.sol", - "id": 8147, - "nodeType": "ImportDirective", - "scope": 9052, - "sourceUnit": 7586, - "src": "263:33:15", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Address.sol", - "file": "../../utils/Address.sol", - "id": 8148, - "nodeType": "ImportDirective", - "scope": 9052, - "sourceUnit": 9506, - "src": "297:33:15", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/EnumerableSet.sol", - "file": "../../utils/EnumerableSet.sol", - "id": 8149, - "nodeType": "ImportDirective", - "scope": 9052, - "sourceUnit": 10543, - "src": "331:39:15", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/EnumerableMap.sol", - "file": "../../utils/EnumerableMap.sol", - "id": 8150, - "nodeType": "ImportDirective", - "scope": 9052, - "sourceUnit": 10072, - "src": "371:39:15", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Strings.sol", - "file": "../../utils/Strings.sol", - "id": 8151, - "nodeType": "ImportDirective", - "scope": 9052, - "sourceUnit": 10711, - "src": "411:33:15", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 8152, - "name": "Context", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9528, - "src": "590:7:15", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Context_$9528", - "typeString": "contract Context" - } - }, - "id": 8153, - "nodeType": "InheritanceSpecifier", - "src": "590:7:15" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 8154, - "name": "ERC165", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7234, - "src": "599:6:15", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC165_$7234", - "typeString": "contract ERC165" - } - }, - "id": 8155, - "nodeType": "InheritanceSpecifier", - "src": "599:6:15" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 8156, - "name": "IERC721", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9154, - "src": "607:7:15", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721_$9154", - "typeString": "contract IERC721" - } - }, - "id": 8157, - "nodeType": "InheritanceSpecifier", - "src": "607:7:15" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 8158, - "name": "IERC721Metadata", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9204, - "src": "616:15:15", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721Metadata_$9204", - "typeString": "contract IERC721Metadata" - } - }, - "id": 8159, - "nodeType": "InheritanceSpecifier", - "src": "616:15:15" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 8160, - "name": "IERC721Enumerable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9181, - "src": "633:17:15", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721Enumerable_$9181", - "typeString": "contract IERC721Enumerable" - } - }, - "id": 8161, - "nodeType": "InheritanceSpecifier", - "src": "633:17:15" - } - ], - "contractDependencies": [ - 7234, - 7244, - 9154, - 9181, - 9204, - 9528 - ], - "contractKind": "contract", - "documentation": "@title ERC721 Non-Fungible Token Standard basic implementation\n@dev see https://eips.ethereum.org/EIPS/eip-721", - "fullyImplemented": true, - "id": 9051, - "linearizedBaseContracts": [ - 9051, - 9181, - 9204, - 9154, - 7234, - 7244, - 9528 - ], - "name": "ERC721", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 8164, - "libraryName": { - "contractScope": null, - "id": 8162, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7585, - "src": "663:8:15", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$7585", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "657:27:15", - "typeName": { - "id": 8163, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "676:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 8167, - "libraryName": { - "contractScope": null, - "id": 8165, - "name": "Address", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9505, - "src": "695:7:15", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Address_$9505", - "typeString": "library Address" - } - }, - "nodeType": "UsingForDirective", - "src": "689:26:15", - "typeName": { - "id": 8166, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "707:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - { - "id": 8170, - "libraryName": { - "contractScope": null, - "id": 8168, - "name": "EnumerableSet", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10542, - "src": "726:13:15", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EnumerableSet_$10542", - "typeString": "library EnumerableSet" - } - }, - "nodeType": "UsingForDirective", - "src": "720:46:15", - "typeName": { - "contractScope": null, - "id": 8169, - "name": "EnumerableSet.UintSet", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10452, - "src": "744:21:15", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10452_storage_ptr", - "typeString": "struct EnumerableSet.UintSet" - } - } - }, - { - "id": 8173, - "libraryName": { - "contractScope": null, - "id": 8171, - "name": "EnumerableMap", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10071, - "src": "777:13:15", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EnumerableMap_$10071", - "typeString": "library EnumerableMap" - } - }, - "nodeType": "UsingForDirective", - "src": "771:55:15", - "typeName": { - "contractScope": null, - "id": 8172, - "name": "EnumerableMap.UintToAddressMap", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9853, - "src": "795:30:15", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - } - } - }, - { - "id": 8176, - "libraryName": { - "contractScope": null, - "id": 8174, - "name": "Strings", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10710, - "src": "837:7:15", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Strings_$10710", - "typeString": "library Strings" - } - }, - "nodeType": "UsingForDirective", - "src": "831:26:15", - "typeName": { - "id": 8175, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "849:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": true, - "id": 8179, - "name": "_ERC721_RECEIVED", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9051, - "src": "1035:53:15", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 8177, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "1035:6:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783135306237613032", - "id": 8178, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1078:10:15", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_353073666_by_1", - "typeString": "int_const 353073666" - }, - "value": "0x150b7a02" - }, - "visibility": "private" - }, - { - "constant": false, - "id": 8183, - "name": "_holderTokens", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9051, - "src": "1172:64:15", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UintSet_$10452_storage_$", - "typeString": "mapping(address => struct EnumerableSet.UintSet)" - }, - "typeName": { - "id": 8182, - "keyType": { - "id": 8180, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1181:7:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1172:42:15", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UintSet_$10452_storage_$", - "typeString": "mapping(address => struct EnumerableSet.UintSet)" - }, - "valueType": { - "contractScope": null, - "id": 8181, - "name": "EnumerableSet.UintSet", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10452, - "src": "1192:21:15", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10452_storage_ptr", - "typeString": "struct EnumerableSet.UintSet" - } - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 8185, - "name": "_tokenOwners", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9051, - "src": "1300:51:15", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage", - "typeString": "struct EnumerableMap.UintToAddressMap" - }, - "typeName": { - "contractScope": null, - "id": 8184, - "name": "EnumerableMap.UintToAddressMap", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9853, - "src": "1300:30:15", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 8189, - "name": "_tokenApprovals", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9051, - "src": "1407:52:15", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - }, - "typeName": { - "id": 8188, - "keyType": { - "id": 8186, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1416:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "1407:28:15", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - }, - "valueType": { - "id": 8187, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1427:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 8195, - "name": "_operatorApprovals", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9051, - "src": "1514:73:15", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - }, - "typeName": { - "id": 8194, - "keyType": { - "id": 8190, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1523:7:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1514:46:15", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - }, - "valueType": { - "id": 8193, - "keyType": { - "id": 8191, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1543:7:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1534:25:15", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 8192, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1554:4:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 8197, - "name": "_name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9051, - "src": "1612:20:15", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 8196, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1612:6:15", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 8199, - "name": "_symbol", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9051, - "src": "1659:22:15", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 8198, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1659:6:15", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 8203, - "name": "_tokenURIs", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9051, - "src": "1727:46:15", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string)" - }, - "typeName": { - "id": 8202, - "keyType": { - "id": 8200, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1736:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "1727:27:15", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string)" - }, - "valueType": { - "id": 8201, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1747:6:15", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 8205, - "name": "_baseURI", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9051, - "src": "1796:23:15", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 8204, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1796:6:15", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": true, - "id": 8208, - "name": "_INTERFACE_ID_ERC721", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9051, - "src": "2695:57:15", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 8206, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "2695:6:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783830616335386364", - "id": 8207, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2742:10:15", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2158778573_by_1", - "typeString": "int_const 2158778573" - }, - "value": "0x80ac58cd" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 8211, - "name": "_INTERFACE_ID_ERC721_METADATA", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9051, - "src": "3018:66:15", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 8209, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "3018:6:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783562356531333966", - "id": 8210, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3074:10:15", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1532892063_by_1", - "typeString": "int_const 1532892063" - }, - "value": "0x5b5e139f" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 8214, - "name": "_INTERFACE_ID_ERC721_ENUMERABLE", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9051, - "src": "3389:68:15", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 8212, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "3389:6:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783738306539643633", - "id": 8213, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3447:10:15", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2014223715_by_1", - "typeString": "int_const 2014223715" - }, - "value": "0x780e9d63" - }, - "visibility": "private" - }, - { - "body": { - "id": 8241, - "nodeType": "Block", - "src": "3641:305:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 8223, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8221, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8197, - "src": "3651:5:15", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8222, - "name": "name_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8216, - "src": "3659:5:15", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "3651:13:15", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 8224, - "nodeType": "ExpressionStatement", - "src": "3651:13:15" - }, - { - "expression": { - "argumentTypes": null, - "id": 8227, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8225, - "name": "_symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8199, - "src": "3674:7:15", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8226, - "name": "symbol_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8218, - "src": "3684:7:15", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "3674:17:15", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 8228, - "nodeType": "ExpressionStatement", - "src": "3674:17:15" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8230, - "name": "_INTERFACE_ID_ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8208, - "src": "3798:20:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "id": 8229, - "name": "_registerInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7233, - "src": "3779:18:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes4_$returns$__$", - "typeString": "function (bytes4)" - } - }, - "id": 8231, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3779:40:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8232, - "nodeType": "ExpressionStatement", - "src": "3779:40:15" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8234, - "name": "_INTERFACE_ID_ERC721_METADATA", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8211, - "src": "3848:29:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "id": 8233, - "name": "_registerInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7233, - "src": "3829:18:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes4_$returns$__$", - "typeString": "function (bytes4)" - } - }, - "id": 8235, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3829:49:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8236, - "nodeType": "ExpressionStatement", - "src": "3829:49:15" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8238, - "name": "_INTERFACE_ID_ERC721_ENUMERABLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8214, - "src": "3907:31:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "id": 8237, - "name": "_registerInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7233, - "src": "3888:18:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes4_$returns$__$", - "typeString": "function (bytes4)" - } - }, - "id": 8239, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3888:51:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8240, - "nodeType": "ExpressionStatement", - "src": "3888:51:15" - } - ] - }, - "documentation": "@dev Initializes the contract by setting a `name` and a `symbol` to the token collection.", - "id": 8242, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8219, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8216, - "name": "name_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8242, - "src": "3590:19:15", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 8215, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3590:6:15", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8218, - "name": "symbol_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8242, - "src": "3611:21:15", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 8217, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3611:6:15", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3589:44:15" - }, - "returnParameters": { - "id": 8220, - "nodeType": "ParameterList", - "parameters": [], - "src": "3641:0:15" - }, - "scope": 9051, - "src": "3577:369:15", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "baseFunctions": [ - 9087 - ], - "body": { - "id": 8266, - "nodeType": "Block", - "src": "4086:137:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 8256, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8251, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8244, - "src": "4104:5:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 8254, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4121:1:15", - "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": 8253, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4113:7:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 8252, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4113:7:15", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8255, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4113:10:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "4104:19:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a2062616c616e636520717565727920666f7220746865207a65726f2061646472657373", - "id": 8257, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4125:44:15", - "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": 8250, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4096:7:15", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8258, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4096:74:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8259, - "nodeType": "ExpressionStatement", - "src": "4096:74:15" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8260, - "name": "_holderTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8183, - "src": "4187:13:15", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UintSet_$10452_storage_$", - "typeString": "mapping(address => struct EnumerableSet.UintSet storage ref)" - } - }, - "id": 8262, - "indexExpression": { - "argumentTypes": null, - "id": 8261, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8244, - "src": "4201:5:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4187:20:15", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10452_storage", - "typeString": "struct EnumerableSet.UintSet storage ref" - } - }, - "id": 8263, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": 10522, - "src": "4187:27:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_UintSet_$10452_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_UintSet_$10452_storage_ptr_$", - "typeString": "function (struct EnumerableSet.UintSet storage pointer) view returns (uint256)" - } - }, - "id": 8264, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4187:29:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 8249, - "id": 8265, - "nodeType": "Return", - "src": "4180:36:15" - } - ] - }, - "documentation": "@dev See {IERC721-balanceOf}.", - "functionSelector": "70a08231", - "id": 8267, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 8246, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4059:8:15" - }, - "parameters": { - "id": 8245, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8244, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8267, - "src": "4024:13:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8243, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4024:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4023:15:15" - }, - "returnParameters": { - "id": 8249, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8248, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8267, - "src": "4077:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8247, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4077:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4076:9:15" - }, - "scope": 9051, - "src": "4005:218:15", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 9094 - ], - "body": { - "id": 8281, - "nodeType": "Block", - "src": "4361:94:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8277, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8269, - "src": "4395:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e", - "id": 8278, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4404:43:15", - "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": 8275, - "name": "_tokenOwners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8185, - "src": "4378:12:15", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage", - "typeString": "struct EnumerableMap.UintToAddressMap storage ref" - } - }, - "id": 8276, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "get", - "nodeType": "MemberAccess", - "referencedDeclaration": 10070, - "src": "4378:16:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_UintToAddressMap_$9853_storage_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_address_$bound_to$_t_struct$_UintToAddressMap_$9853_storage_ptr_$", - "typeString": "function (struct EnumerableMap.UintToAddressMap storage pointer,uint256,string memory) view returns (address)" - } - }, - "id": 8279, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4378:70:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 8274, - "id": 8280, - "nodeType": "Return", - "src": "4371:77:15" - } - ] - }, - "documentation": "@dev See {IERC721-ownerOf}.", - "functionSelector": "6352211e", - "id": 8282, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "ownerOf", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 8271, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4334:8:15" - }, - "parameters": { - "id": 8270, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8269, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8282, - "src": "4297:15:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8268, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4297:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4296:17:15" - }, - "returnParameters": { - "id": 8274, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8273, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8282, - "src": "4352:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8272, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4352:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4351:9:15" - }, - "scope": 9051, - "src": "4280:175:15", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 9191 - ], - "body": { - "id": 8290, - "nodeType": "Block", - "src": "4586:29:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 8288, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8197, - "src": "4603:5:15", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "functionReturnParameters": 8287, - "id": 8289, - "nodeType": "Return", - "src": "4596:12:15" - } - ] - }, - "documentation": "@dev See {IERC721Metadata-name}.", - "functionSelector": "06fdde03", - "id": 8291, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 8284, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4553:8:15" - }, - "parameters": { - "id": 8283, - "nodeType": "ParameterList", - "parameters": [], - "src": "4530:2:15" - }, - "returnParameters": { - "id": 8287, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8286, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8291, - "src": "4571:13:15", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 8285, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4571:6:15", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4570:15:15" - }, - "scope": 9051, - "src": "4517:98:15", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 9196 - ], - "body": { - "id": 8299, - "nodeType": "Block", - "src": "4750:31:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 8297, - "name": "_symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8199, - "src": "4767:7:15", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "functionReturnParameters": 8296, - "id": 8298, - "nodeType": "Return", - "src": "4760:14:15" - } - ] - }, - "documentation": "@dev See {IERC721Metadata-symbol}.", - "functionSelector": "95d89b41", - "id": 8300, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 8293, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4717:8:15" - }, - "parameters": { - "id": 8292, - "nodeType": "ParameterList", - "parameters": [], - "src": "4694:2:15" - }, - "returnParameters": { - "id": 8296, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8295, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8300, - "src": "4735:13:15", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 8294, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4735:6:15", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4734:15:15" - }, - "scope": 9051, - "src": "4679:102:15", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 9203 - ], - "body": { - "id": 8366, - "nodeType": "Block", - "src": "4935:688:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8310, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8302, - "src": "4961:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8309, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8649, - "src": "4953:7:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 8311, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4953:16:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732314d657461646174613a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e", - "id": 8312, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4971:49:15", - "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": 8308, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4945:7:15", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4945:76:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8314, - "nodeType": "ExpressionStatement", - "src": "4945:76:15" - }, - { - "assignments": [ - 8316 - ], - "declarations": [ - { - "constant": false, - "id": 8316, - "name": "_tokenURI", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8366, - "src": "5032:23:15", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 8315, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5032:6:15", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8320, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8317, - "name": "_tokenURIs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8203, - "src": "5058:10:15", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string storage ref)" - } - }, - "id": 8319, - "indexExpression": { - "argumentTypes": null, - "id": 8318, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8302, - "src": "5069:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5058:19:15", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5032:45:15" - }, - { - "assignments": [ - 8322 - ], - "declarations": [ - { - "constant": false, - "id": 8322, - "name": "base", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8366, - "src": "5087:18:15", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 8321, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5087:6:15", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8325, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8323, - "name": "baseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8375, - "src": "5108:7:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_string_memory_ptr_$", - "typeString": "function () view returns (string memory)" - } - }, - "id": 8324, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5108:9:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5087:30:15" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8328, - "name": "base", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8322, - "src": "5196:4:15", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 8327, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5190:5:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 8326, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5190:5:15", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8329, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5190:11:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 8330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5190:18:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 8331, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5212:1:15", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5190:23:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 8336, - "nodeType": "IfStatement", - "src": "5186:70:15", - "trueBody": { - "id": 8335, - "nodeType": "Block", - "src": "5215:41:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 8333, - "name": "_tokenURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8316, - "src": "5236:9:15", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 8307, - "id": 8334, - "nodeType": "Return", - "src": "5229:16:15" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8343, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8339, - "name": "_tokenURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8316, - "src": "5364:9:15", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 8338, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5358:5:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 8337, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5358:5:15", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8340, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5358:16:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 8341, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5358:23:15", - "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": "5384:1:15", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5358:27:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 8354, - "nodeType": "IfStatement", - "src": "5354:106:15", - "trueBody": { - "id": 8353, - "nodeType": "Block", - "src": "5387:73:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8348, - "name": "base", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8322, - "src": "5432:4:15", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 8349, - "name": "_tokenURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8316, - "src": "5438:9:15", - "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": 8346, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "5415:3:15", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 8347, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5415:16:15", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 8350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5415:33:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 8345, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5408:6:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": { - "id": 8344, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5408:6:15", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8351, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5408:41:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 8307, - "id": 8352, - "nodeType": "Return", - "src": "5401:48:15" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8359, - "name": "base", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8322, - "src": "5590:4:15", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 8360, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8302, - "src": "5596:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8361, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "toString", - "nodeType": "MemberAccess", - "referencedDeclaration": 10709, - "src": "5596:16:15", - "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": 8362, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5596:18:15", - "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": 8357, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "5573:3:15", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 8358, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5573:16:15", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 8363, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5573:42:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 8356, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5566:6:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": { - "id": 8355, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5566:6:15", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8364, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5566:50:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 8307, - "id": 8365, - "nodeType": "Return", - "src": "5559:57:15" - } - ] - }, - "documentation": "@dev See {IERC721Metadata-tokenURI}.", - "functionSelector": "c87b56dd", - "id": 8367, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tokenURI", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 8304, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4902:8:15" - }, - "parameters": { - "id": 8303, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8302, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8367, - "src": "4865:15:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8301, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4865:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4864:17:15" - }, - "returnParameters": { - "id": 8307, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8306, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8367, - "src": "4920:13:15", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 8305, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4920:6:15", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4919:15:15" - }, - "scope": 9051, - "src": "4847:776:15", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 8374, - "nodeType": "Block", - "src": "5918:32:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 8372, - "name": "_baseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8205, - "src": "5935:8:15", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "functionReturnParameters": 8371, - "id": 8373, - "nodeType": "Return", - "src": "5928:15:15" - } - ] - }, - "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": 8375, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "baseURI", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8368, - "nodeType": "ParameterList", - "parameters": [], - "src": "5871:2:15" - }, - "returnParameters": { - "id": 8371, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8370, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8375, - "src": "5903:13:15", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 8369, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5903:6:15", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5902:15:15" - }, - "scope": 9051, - "src": "5855:95:15", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 9173 - ], - "body": { - "id": 8392, - "nodeType": "Block", - "src": "6135:54:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8389, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8379, - "src": "6176:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8385, - "name": "_holderTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8183, - "src": "6152:13:15", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UintSet_$10452_storage_$", - "typeString": "mapping(address => struct EnumerableSet.UintSet storage ref)" - } - }, - "id": 8387, - "indexExpression": { - "argumentTypes": null, - "id": 8386, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8377, - "src": "6166:5:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6152:20:15", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10452_storage", - "typeString": "struct EnumerableSet.UintSet storage ref" - } - }, - "id": 8388, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "at", - "nodeType": "MemberAccess", - "referencedDeclaration": 10541, - "src": "6152:23:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_UintSet_$10452_storage_ptr_$_t_uint256_$returns$_t_uint256_$bound_to$_t_struct$_UintSet_$10452_storage_ptr_$", - "typeString": "function (struct EnumerableSet.UintSet storage pointer,uint256) view returns (uint256)" - } - }, - "id": 8390, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6152:30:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 8384, - "id": 8391, - "nodeType": "Return", - "src": "6145:37:15" - } - ] - }, - "documentation": "@dev See {IERC721Enumerable-tokenOfOwnerByIndex}.", - "functionSelector": "2f745c59", - "id": 8393, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tokenOfOwnerByIndex", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 8381, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "6108:8:15" - }, - "parameters": { - "id": 8380, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8377, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8393, - "src": "6058:13:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8376, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6058:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8379, - "name": "index", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8393, - "src": "6073:13:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8378, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6073:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6057:30:15" - }, - "returnParameters": { - "id": 8384, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8383, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8393, - "src": "6126:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8382, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6126:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6125:9:15" - }, - "scope": 9051, - "src": "6029:160:15", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 9164 - ], - "body": { - "id": 8403, - "nodeType": "Block", - "src": "6330:138:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 8399, - "name": "_tokenOwners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8185, - "src": "6440:12:15", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage", - "typeString": "struct EnumerableMap.UintToAddressMap storage ref" - } - }, - "id": 8400, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": 9935, - "src": "6440:19:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_UintToAddressMap_$9853_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_UintToAddressMap_$9853_storage_ptr_$", - "typeString": "function (struct EnumerableMap.UintToAddressMap storage pointer) view returns (uint256)" - } - }, - "id": 8401, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6440:21:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 8398, - "id": 8402, - "nodeType": "Return", - "src": "6433:28:15" - } - ] - }, - "documentation": "@dev See {IERC721Enumerable-totalSupply}.", - "functionSelector": "18160ddd", - "id": 8404, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 8395, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "6303:8:15" - }, - "parameters": { - "id": 8394, - "nodeType": "ParameterList", - "parameters": [], - "src": "6280:2:15" - }, - "returnParameters": { - "id": 8398, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8397, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8404, - "src": "6321:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8396, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6321:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6320:9:15" - }, - "scope": 9051, - "src": "6260:208:15", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 9180 - ], - "body": { - "id": 8421, - "nodeType": "Block", - "src": "6624:85:15", - "statements": [ - { - "assignments": [ - 8413, - null - ], - "declarations": [ - { - "constant": false, - "id": 8413, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8421, - "src": "6635:15:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8412, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6635:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 8418, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8416, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8406, - "src": "6672:5:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8414, - "name": "_tokenOwners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8185, - "src": "6656:12:15", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage", - "typeString": "struct EnumerableMap.UintToAddressMap storage ref" - } - }, - "id": 8415, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "at", - "nodeType": "MemberAccess", - "referencedDeclaration": 9973, - "src": "6656:15:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_UintToAddressMap_$9853_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_address_$bound_to$_t_struct$_UintToAddressMap_$9853_storage_ptr_$", - "typeString": "function (struct EnumerableMap.UintToAddressMap storage pointer,uint256) view returns (uint256,address)" - } - }, - "id": 8417, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6656:22:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_address_$", - "typeString": "tuple(uint256,address)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6634:44:15" - }, - { - "expression": { - "argumentTypes": null, - "id": 8419, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8413, - "src": "6695:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 8411, - "id": 8420, - "nodeType": "Return", - "src": "6688:14:15" - } - ] - }, - "documentation": "@dev See {IERC721Enumerable-tokenByIndex}.", - "functionSelector": "4f6ccce7", - "id": 8422, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tokenByIndex", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 8408, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "6597:8:15" - }, - "parameters": { - "id": 8407, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8406, - "name": "index", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8422, - "src": "6562:13:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8405, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6562:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6561:15:15" - }, - "returnParameters": { - "id": 8411, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8410, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8422, - "src": "6615:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8409, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6615:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6614:9:15" - }, - "scope": 9051, - "src": "6540:169:15", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 9119 - ], - "body": { - "id": 8464, - "nodeType": "Block", - "src": "6836:325:15", - "statements": [ - { - "assignments": [ - 8431 - ], - "declarations": [ - { - "constant": false, - "id": 8431, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8464, - "src": "6846:13:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8430, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6846:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8436, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8434, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8426, - "src": "6877:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8432, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9051, - "src": "6862:6:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$9051_$", - "typeString": "type(contract ERC721)" - } - }, - "id": 8433, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ownerOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 8282, - "src": "6862:14:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 8435, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6862:23:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6846:39:15" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 8440, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8438, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8424, - "src": "6903:2:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 8439, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8431, - "src": "6909:5:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "6903:11:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a20617070726f76616c20746f2063757272656e74206f776e6572", - "id": 8441, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6916:35:15", - "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": 8437, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6895:7:15", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6895:57:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8443, - "nodeType": "ExpressionStatement", - "src": "6895:57:15" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 8455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 8448, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8445, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9516, - "src": "6971:10:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 8446, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6971:12:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 8447, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8431, - "src": "6987:5:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "6971:21:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8451, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8431, - "src": "7020:5:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8452, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9516, - "src": "7027:10:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 8453, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7027:12:15", - "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": 8449, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9051, - "src": "6996:6:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$9051_$", - "typeString": "type(contract ERC721)" - } - }, - "id": 8450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "isApprovedForAll", - "nodeType": "MemberAccess", - "referencedDeclaration": 8535, - "src": "6996:23:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (address,address) view returns (bool)" - } - }, - "id": 8454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6996:44:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "6971:69:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c", - "id": 8456, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7054:58:15", - "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": 8444, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6963:7:15", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8457, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6963:159:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8458, - "nodeType": "ExpressionStatement", - "src": "6963:159:15" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8460, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8424, - "src": "7142:2:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8461, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8426, - "src": "7146:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8459, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9040, - "src": "7133:8:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 8462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7133:21:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8463, - "nodeType": "ExpressionStatement", - "src": "7133:21:15" - } - ] - }, - "documentation": "@dev See {IERC721-approve}.", - "functionSelector": "095ea7b3", - "id": 8465, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 8428, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "6827:8:15" - }, - "parameters": { - "id": 8427, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8424, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8465, - "src": "6783:10:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8423, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6783:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8426, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8465, - "src": "6795:15:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8425, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6795:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6782:29:15" - }, - "returnParameters": { - "id": 8429, - "nodeType": "ParameterList", - "parameters": [], - "src": "6836:0:15" - }, - "scope": 9051, - "src": "6766:395:15", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 9126 - ], - "body": { - "id": 8484, - "nodeType": "Block", - "src": "7307:132:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8475, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8467, - "src": "7333:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8474, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8649, - "src": "7325:7:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 8476, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7325:16:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e", - "id": 8477, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7343:46:15", - "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": 8473, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7317:7:15", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8478, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7317:73:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8479, - "nodeType": "ExpressionStatement", - "src": "7317:73:15" - }, - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8480, - "name": "_tokenApprovals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8189, - "src": "7408:15:15", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 8482, - "indexExpression": { - "argumentTypes": null, - "id": 8481, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8467, - "src": "7424:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7408:24:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 8472, - "id": 8483, - "nodeType": "Return", - "src": "7401:31:15" - } - ] - }, - "documentation": "@dev See {IERC721-getApproved}.", - "functionSelector": "081812fc", - "id": 8485, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getApproved", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 8469, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "7280:8:15" - }, - "parameters": { - "id": 8468, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8467, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8485, - "src": "7243:15:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8466, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7243:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7242:17:15" - }, - "returnParameters": { - "id": 8472, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8471, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8485, - "src": "7298:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8470, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7298:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7297:9:15" - }, - "scope": 9051, - "src": "7222:217:15", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 9133 - ], - "body": { - "id": 8517, - "nodeType": "Block", - "src": "7590:206:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 8497, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8494, - "name": "operator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8487, - "src": "7608:8:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8495, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9516, - "src": "7620:10:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 8496, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7620:12:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "7608:24:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a20617070726f766520746f2063616c6c6572", - "id": 8498, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7634:27:15", - "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": 8493, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7600:7:15", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8499, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7600:62:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8500, - "nodeType": "ExpressionStatement", - "src": "7600:62:15" - }, - { - "expression": { - "argumentTypes": null, - "id": 8508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8501, - "name": "_operatorApprovals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8195, - "src": "7673:18:15", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - } - }, - "id": 8505, - "indexExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8502, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9516, - "src": "7692:10:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 8503, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7692:12:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7673:32:15", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 8506, - "indexExpression": { - "argumentTypes": null, - "id": 8504, - "name": "operator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8487, - "src": "7706:8:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7673:42:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8507, - "name": "approved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8489, - "src": "7718:8:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "7673:53:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 8509, - "nodeType": "ExpressionStatement", - "src": "7673:53:15" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8511, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9516, - "src": "7756:10:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 8512, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7756:12:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 8513, - "name": "operator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8487, - "src": "7770:8:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8514, - "name": "approved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8489, - "src": "7780:8:15", - "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": 8510, - "name": "ApprovalForAll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9080, - "src": "7741:14:15", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bool_$returns$__$", - "typeString": "function (address,address,bool)" - } - }, - "id": 8515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7741:48:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8516, - "nodeType": "EmitStatement", - "src": "7736:53:15" - } - ] - }, - "documentation": "@dev See {IERC721-setApprovalForAll}.", - "functionSelector": "a22cb465", - "id": 8518, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "setApprovalForAll", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 8491, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "7581:8:15" - }, - "parameters": { - "id": 8490, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8487, - "name": "operator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8518, - "src": "7533:16:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8486, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7533:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8489, - "name": "approved", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8518, - "src": "7551:13:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 8488, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7551:4:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7532:33:15" - }, - "returnParameters": { - "id": 8492, - "nodeType": "ParameterList", - "parameters": [], - "src": "7590:0:15" - }, - "scope": 9051, - "src": "7506:290:15", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 9142 - ], - "body": { - "id": 8534, - "nodeType": "Block", - "src": "7965:59:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8528, - "name": "_operatorApprovals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8195, - "src": "7982:18:15", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - } - }, - "id": 8530, - "indexExpression": { - "argumentTypes": null, - "id": 8529, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8520, - "src": "8001:5:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7982:25:15", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 8532, - "indexExpression": { - "argumentTypes": null, - "id": 8531, - "name": "operator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8522, - "src": "8008:8:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7982:35:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 8527, - "id": 8533, - "nodeType": "Return", - "src": "7975:42:15" - } - ] - }, - "documentation": "@dev See {IERC721-isApprovedForAll}.", - "functionSelector": "e985e9c5", - "id": 8535, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isApprovedForAll", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 8524, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "7941:8:15" - }, - "parameters": { - "id": 8523, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8520, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8535, - "src": "7888:13:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8519, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7888:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8522, - "name": "operator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8535, - "src": "7903:16:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8521, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7903:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7887:33:15" - }, - "returnParameters": { - "id": 8527, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8526, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8535, - "src": "7959:4:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 8525, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7959:4:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7958:6:15" - }, - "scope": 9051, - "src": "7862:162:15", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 9112 - ], - "body": { - "id": 8560, - "nodeType": "Block", - "src": "8175:211:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8547, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9516, - "src": "8264:10:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 8548, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8264:12:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 8549, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8541, - "src": "8278:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8546, - "name": "_isApprovedOrOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8690, - "src": "8245:18:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) view returns (bool)" - } - }, - "id": 8550, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8245:41:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564", - "id": 8551, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8288:51:15", - "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": 8545, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "8237:7:15", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8552, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8237:103:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8553, - "nodeType": "ExpressionStatement", - "src": "8237:103:15" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8555, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8537, - "src": "8361:4:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8556, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8539, - "src": "8367:2:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8557, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8541, - "src": "8371:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8554, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8929, - "src": "8351:9:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 8558, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8351:28:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8559, - "nodeType": "ExpressionStatement", - "src": "8351:28:15" - } - ] - }, - "documentation": "@dev See {IERC721-transferFrom}.", - "functionSelector": "23b872dd", - "id": 8561, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 8543, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "8166:8:15" - }, - "parameters": { - "id": 8542, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8537, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8561, - "src": "8108:12:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8536, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8108:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8539, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8561, - "src": "8122:10:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8538, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8122:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8541, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8561, - "src": "8134:15:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8540, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8134:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8107:43:15" - }, - "returnParameters": { - "id": 8544, - "nodeType": "ParameterList", - "parameters": [], - "src": "8175:0:15" - }, - "scope": 9051, - "src": "8086:300:15", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 9103 - ], - "body": { - "id": 8578, - "nodeType": "Block", - "src": "8545:56:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8572, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8563, - "src": "8572:4:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8573, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8565, - "src": "8578:2:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8574, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8567, - "src": "8582:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "", - "id": 8575, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8591:2:15", - "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": 8571, - "name": "safeTransferFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 8579, - 8608 - ], - "referencedDeclaration": 8608, - "src": "8555:16:15", - "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": 8576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8555:39:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8577, - "nodeType": "ExpressionStatement", - "src": "8555:39:15" - } - ] - }, - "documentation": "@dev See {IERC721-safeTransferFrom}.", - "functionSelector": "42842e0e", - "id": 8579, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "safeTransferFrom", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 8569, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "8536:8:15" - }, - "parameters": { - "id": 8568, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8563, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8579, - "src": "8478:12:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8562, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8478:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8565, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8579, - "src": "8492:10:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8564, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8492:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8567, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8579, - "src": "8504:15:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8566, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8504:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8477:43:15" - }, - "returnParameters": { - "id": 8570, - "nodeType": "ParameterList", - "parameters": [], - "src": "8545:0:15" - }, - "scope": 9051, - "src": "8452:149:15", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 9153 - ], - "body": { - "id": 8607, - "nodeType": "Block", - "src": "8780:169:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8593, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9516, - "src": "8817:10:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 8594, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8817:12:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 8595, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8585, - "src": "8831:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8592, - "name": "_isApprovedOrOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8690, - "src": "8798:18:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) view returns (bool)" - } - }, - "id": 8596, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8798:41:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564", - "id": 8597, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8841:51:15", - "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": 8591, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "8790:7:15", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8598, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8790:103:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8599, - "nodeType": "ExpressionStatement", - "src": "8790:103:15" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8601, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8581, - "src": "8917:4:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8602, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8583, - "src": "8923:2:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8603, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8585, - "src": "8927:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8604, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8587, - "src": "8936:5:15", - "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": 8600, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8636, - "src": "8903:13:15", - "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": 8605, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8903:39:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8606, - "nodeType": "ExpressionStatement", - "src": "8903:39:15" - } - ] - }, - "documentation": "@dev See {IERC721-safeTransferFrom}.", - "functionSelector": "b88d4fde", - "id": 8608, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "safeTransferFrom", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 8589, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "8771:8:15" - }, - "parameters": { - "id": 8588, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8581, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8608, - "src": "8693:12:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8580, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8693:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8583, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8608, - "src": "8707:10:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8582, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8707:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8585, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8608, - "src": "8719:15:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8584, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8719:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8587, - "name": "_data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8608, - "src": "8736:18:15", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 8586, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "8736:5:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8692:63:15" - }, - "returnParameters": { - "id": 8590, - "nodeType": "ParameterList", - "parameters": [], - "src": "8780:0:15" - }, - "scope": 9051, - "src": "8667:282:15", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 8635, - "nodeType": "Block", - "src": "9914:166:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8620, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8610, - "src": "9934:4:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8621, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8612, - "src": "9940:2:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8622, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8614, - "src": "9944:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8619, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8929, - "src": "9924:9:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 8623, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9924:28:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8624, - "nodeType": "ExpressionStatement", - "src": "9924:28:15" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8627, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8610, - "src": "9993:4:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8628, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8612, - "src": "9999:2:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8629, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8614, - "src": "10003:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8630, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8616, - "src": "10012:5:15", - "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": 8626, - "name": "_checkOnERC721Received", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9017, - "src": "9970:22:15", - "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": 8631, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9970:48:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e746572", - "id": 8632, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10020:52:15", - "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": 8625, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "9962:7:15", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8633, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9962:111:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8634, - "nodeType": "ExpressionStatement", - "src": "9962:111:15" - } - ] - }, - "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": 8636, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_safeTransfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8617, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8610, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8636, - "src": "9834:12:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8609, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9834:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8612, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8636, - "src": "9848:10:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8611, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9848:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8614, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8636, - "src": "9860:15:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8613, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9860:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8616, - "name": "_data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8636, - "src": "9877:18:15", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 8615, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "9877:5:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9833:63:15" - }, - "returnParameters": { - "id": 8618, - "nodeType": "ParameterList", - "parameters": [], - "src": "9914:0:15" - }, - "scope": 9051, - "src": "9811:269:15", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 8648, - "nodeType": "Block", - "src": "10454:54:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8645, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8638, - "src": "10493:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8643, - "name": "_tokenOwners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8185, - "src": "10471:12:15", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage", - "typeString": "struct EnumerableMap.UintToAddressMap storage ref" - } - }, - "id": 8644, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "contains", - "nodeType": "MemberAccess", - "referencedDeclaration": 9922, - "src": "10471:21:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_UintToAddressMap_$9853_storage_ptr_$_t_uint256_$returns$_t_bool_$bound_to$_t_struct$_UintToAddressMap_$9853_storage_ptr_$", - "typeString": "function (struct EnumerableMap.UintToAddressMap storage pointer,uint256) view returns (bool)" - } - }, - "id": 8646, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10471:30:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 8642, - "id": 8647, - "nodeType": "Return", - "src": "10464:37:15" - } - ] - }, - "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": 8649, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_exists", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8639, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8638, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8649, - "src": "10400:15:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8637, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10400:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10399:17:15" - }, - "returnParameters": { - "id": 8642, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8641, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8649, - "src": "10448:4:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 8640, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10448:4:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10447:6:15" - }, - "scope": 9051, - "src": "10383:125:15", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 8689, - "nodeType": "Block", - "src": "10765:252:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8660, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8653, - "src": "10791:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8659, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8649, - "src": "10783:7:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 8661, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10783:16:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e", - "id": 8662, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10801:46:15", - "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": 8658, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "10775:7:15", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10775:73:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8664, - "nodeType": "ExpressionStatement", - "src": "10775:73:15" - }, - { - "assignments": [ - 8666 - ], - "declarations": [ - { - "constant": false, - "id": 8666, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8689, - "src": "10858:13:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8665, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10858:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8671, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8669, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8653, - "src": "10889:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8667, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9051, - "src": "10874:6:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$9051_$", - "typeString": "type(contract ERC721)" - } - }, - "id": 8668, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ownerOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 8282, - "src": "10874:14:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 8670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10874:23:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10858:39:15" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 8686, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 8680, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 8674, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8672, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8651, - "src": "10915:7:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 8673, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8666, - "src": "10926:5:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "10915:16:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 8679, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8676, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8653, - "src": "10947:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8675, - "name": "getApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8485, - "src": "10935:11:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 8677, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10935:20:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 8678, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8651, - "src": "10959:7:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "10935:31:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "10915:51:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8683, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8666, - "src": "10994:5:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8684, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8651, - "src": "11001:7:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 8681, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9051, - "src": "10970:6:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$9051_$", - "typeString": "type(contract ERC721)" - } - }, - "id": 8682, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "isApprovedForAll", - "nodeType": "MemberAccess", - "referencedDeclaration": 8535, - "src": "10970:23:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (address,address) view returns (bool)" - } - }, - "id": 8685, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10970:39:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "10915:94:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 8687, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10914:96:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 8657, - "id": 8688, - "nodeType": "Return", - "src": "10907:103:15" - } - ] - }, - "documentation": "@dev Returns whether `spender` is allowed to manage `tokenId`.\n * Requirements:\n * - `tokenId` must exist.", - "id": 8690, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_isApprovedOrOwner", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8654, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8651, - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8690, - "src": "10694:15:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8650, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10694:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8653, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8690, - "src": "10711:15:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8652, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10711:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10693:34:15" - }, - "returnParameters": { - "id": 8657, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8656, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8690, - "src": "10759:4:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 8655, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10759:4:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10758:6:15" - }, - "scope": 9051, - "src": "10666:351:15", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 8703, - "nodeType": "Block", - "src": "11413:43:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8698, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8692, - "src": "11433:2:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8699, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8694, - "src": "11437:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "", - "id": 8700, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11446:2:15", - "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": 8697, - "name": "_safeMint", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 8704, - 8732 - ], - "referencedDeclaration": 8732, - "src": "11423:9:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,uint256,bytes memory)" - } - }, - "id": 8701, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11423:26:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8702, - "nodeType": "ExpressionStatement", - "src": "11423:26:15" - } - ] - }, - "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": 8704, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_safeMint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8695, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8692, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8704, - "src": "11367:10:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8691, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11367:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8694, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8704, - "src": "11379:15:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8693, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11379:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11366:29:15" - }, - "returnParameters": { - "id": 8696, - "nodeType": "ParameterList", - "parameters": [], - "src": "11413:0:15" - }, - "scope": 9051, - "src": "11348:108:15", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 8731, - "nodeType": "Block", - "src": "11762:162:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8714, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8706, - "src": "11778:2:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8715, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8708, - "src": "11782:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8713, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8790, - "src": "11772:5:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 8716, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11772:18:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8717, - "nodeType": "ExpressionStatement", - "src": "11772:18:15" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 8722, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11839:1:15", - "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": 8721, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11831:7:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 8720, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11831:7:15", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8723, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11831:10:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 8724, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8706, - "src": "11843:2:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8725, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8708, - "src": "11847:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8726, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8710, - "src": "11856:5:15", - "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": 8719, - "name": "_checkOnERC721Received", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9017, - "src": "11808:22:15", - "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": 8727, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11808:54:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e746572", - "id": 8728, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11864:52:15", - "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": 8718, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "11800:7:15", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8729, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11800:117:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8730, - "nodeType": "ExpressionStatement", - "src": "11800:117:15" - } - ] - }, - "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": 8732, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_safeMint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8711, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8706, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8732, - "src": "11696:10:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8705, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11696:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8708, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8732, - "src": "11708:15:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8707, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11708:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8710, - "name": "_data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8732, - "src": "11725:18:15", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 8709, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "11725:5:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11695:49:15" - }, - "returnParameters": { - "id": 8712, - "nodeType": "ParameterList", - "parameters": [], - "src": "11762:0:15" - }, - "scope": 9051, - "src": "11677:247:15", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 8789, - "nodeType": "Block", - "src": "12307:332:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 8745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8740, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8734, - "src": "12325:2:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 8743, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12339:1:15", - "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": 8742, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12331:7:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 8741, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12331:7:15", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8744, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12331:10:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "12325:16:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a206d696e7420746f20746865207a65726f2061646472657373", - "id": 8746, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12343:34:15", - "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": 8739, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12317:7:15", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8747, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12317:61:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8748, - "nodeType": "ExpressionStatement", - "src": "12317:61:15" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8753, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "12396:17:15", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8751, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8736, - "src": "12405:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8750, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8649, - "src": "12397:7:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 8752, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12397:16:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a20746f6b656e20616c7265616479206d696e746564", - "id": 8754, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12415:30:15", - "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": 8749, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12388:7:15", - "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": "12388:58:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8756, - "nodeType": "ExpressionStatement", - "src": "12388:58:15" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 8760, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12486:1:15", - "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": 8759, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12478:7:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 8758, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12478:7:15", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8761, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12478:10:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 8762, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8734, - "src": "12490:2:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8763, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8736, - "src": "12494:7:15", - "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": 8757, - "name": "_beforeTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9050, - "src": "12457:20:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 8764, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12457:45:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8765, - "nodeType": "ExpressionStatement", - "src": "12457:45:15" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8770, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8736, - "src": "12535:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8766, - "name": "_holderTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8183, - "src": "12513:13:15", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UintSet_$10452_storage_$", - "typeString": "mapping(address => struct EnumerableSet.UintSet storage ref)" - } - }, - "id": 8768, - "indexExpression": { - "argumentTypes": null, - "id": 8767, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8734, - "src": "12527:2:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12513:17:15", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10452_storage", - "typeString": "struct EnumerableSet.UintSet storage ref" - } - }, - "id": 8769, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 10471, - "src": "12513:21:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_UintSet_$10452_storage_ptr_$_t_uint256_$returns$_t_bool_$bound_to$_t_struct$_UintSet_$10452_storage_ptr_$", - "typeString": "function (struct EnumerableSet.UintSet storage pointer,uint256) returns (bool)" - } - }, - "id": 8771, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12513:30:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 8772, - "nodeType": "ExpressionStatement", - "src": "12513:30:15" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8776, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8736, - "src": "12571:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8777, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8734, - "src": "12580:2:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 8773, - "name": "_tokenOwners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8185, - "src": "12554:12:15", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage", - "typeString": "struct EnumerableMap.UintToAddressMap storage ref" - } - }, - "id": 8775, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "set", - "nodeType": "MemberAccess", - "referencedDeclaration": 9884, - "src": "12554:16:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_UintToAddressMap_$9853_storage_ptr_$_t_uint256_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_UintToAddressMap_$9853_storage_ptr_$", - "typeString": "function (struct EnumerableMap.UintToAddressMap storage pointer,uint256,address) returns (bool)" - } - }, - "id": 8778, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12554:29:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 8779, - "nodeType": "ExpressionStatement", - "src": "12554:29:15" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 8783, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12616:1:15", - "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": 8782, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12608:7:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 8781, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12608:7:15", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8784, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12608:10:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 8785, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8734, - "src": "12620:2:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8786, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8736, - "src": "12624:7:15", - "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": 8780, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9064, - "src": "12599:8:15", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 8787, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12599:33:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8788, - "nodeType": "EmitStatement", - "src": "12594:38:15" - } - ] - }, - "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": 8790, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8737, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8734, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8790, - "src": "12261:10:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8733, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12261:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8736, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8790, - "src": "12273:15:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8735, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12273:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12260:29:15" - }, - "returnParameters": { - "id": 8738, - "nodeType": "ParameterList", - "parameters": [], - "src": "12307:0:15" - }, - "scope": 9051, - "src": "12246:393:15", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 8857, - "nodeType": "Block", - "src": "12905:478:15", - "statements": [ - { - "assignments": [ - 8796 - ], - "declarations": [ - { - "constant": false, - "id": 8796, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8857, - "src": "12915:13:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8795, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12915:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8801, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8799, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8792, - "src": "12946:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8797, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9051, - "src": "12931:6:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$9051_$", - "typeString": "type(contract ERC721)" - } - }, - "id": 8798, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ownerOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 8282, - "src": "12931:14:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 8800, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12931:23:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12915:39:15" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8803, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8796, - "src": "13004:5:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 8806, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13019:1:15", - "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": 8805, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13011:7:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 8804, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13011:7:15", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8807, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13011:10:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 8808, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8792, - "src": "13023:7:15", - "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": 8802, - "name": "_beforeTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9050, - "src": "12983:20:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 8809, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12983:48:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8810, - "nodeType": "ExpressionStatement", - "src": "12983:48:15" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 8814, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13086:1:15", - "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": 8813, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13078:7:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 8812, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13078:7:15", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8815, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13078:10:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 8816, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8792, - "src": "13090:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8811, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9040, - "src": "13069:8:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 8817, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13069:29:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8818, - "nodeType": "ExpressionStatement", - "src": "13069:29:15" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8827, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8821, - "name": "_tokenURIs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8203, - "src": "13154:10:15", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string storage ref)" - } - }, - "id": 8823, - "indexExpression": { - "argumentTypes": null, - "id": 8822, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8792, - "src": "13165:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13154:19:15", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - ], - "id": 8820, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13148:5:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 8819, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "13148:5:15", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8824, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13148:26:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes storage pointer" - } - }, - "id": 8825, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13148:33:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 8826, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13185:1:15", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "13148:38:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 8834, - "nodeType": "IfStatement", - "src": "13144:95:15", - "trueBody": { - "id": 8833, - "nodeType": "Block", - "src": "13188:51:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 8831, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "13202:26:15", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8828, - "name": "_tokenURIs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8203, - "src": "13209:10:15", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string storage ref)" - } - }, - "id": 8830, - "indexExpression": { - "argumentTypes": null, - "id": 8829, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8792, - "src": "13220:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "13209:19:15", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8832, - "nodeType": "ExpressionStatement", - "src": "13202:26:15" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8839, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8792, - "src": "13277:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8835, - "name": "_holderTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8183, - "src": "13249:13:15", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UintSet_$10452_storage_$", - "typeString": "mapping(address => struct EnumerableSet.UintSet storage ref)" - } - }, - "id": 8837, - "indexExpression": { - "argumentTypes": null, - "id": 8836, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8796, - "src": "13263:5:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13249:20:15", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10452_storage", - "typeString": "struct EnumerableSet.UintSet storage ref" - } - }, - "id": 8838, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "remove", - "nodeType": "MemberAccess", - "referencedDeclaration": 10490, - "src": "13249:27:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_UintSet_$10452_storage_ptr_$_t_uint256_$returns$_t_bool_$bound_to$_t_struct$_UintSet_$10452_storage_ptr_$", - "typeString": "function (struct EnumerableSet.UintSet storage pointer,uint256) returns (bool)" - } - }, - "id": 8840, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13249:36:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 8841, - "nodeType": "ExpressionStatement", - "src": "13249:36:15" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8845, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8792, - "src": "13316:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8842, - "name": "_tokenOwners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8185, - "src": "13296:12:15", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage", - "typeString": "struct EnumerableMap.UintToAddressMap storage ref" - } - }, - "id": 8844, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "remove", - "nodeType": "MemberAccess", - "referencedDeclaration": 9903, - "src": "13296:19:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_UintToAddressMap_$9853_storage_ptr_$_t_uint256_$returns$_t_bool_$bound_to$_t_struct$_UintToAddressMap_$9853_storage_ptr_$", - "typeString": "function (struct EnumerableMap.UintToAddressMap storage pointer,uint256) returns (bool)" - } - }, - "id": 8846, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13296:28:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 8847, - "nodeType": "ExpressionStatement", - "src": "13296:28:15" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8849, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8796, - "src": "13349:5:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 8852, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13364:1:15", - "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": 8851, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13356:7:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 8850, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13356:7:15", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8853, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13356:10:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 8854, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8792, - "src": "13368:7:15", - "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": 8848, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9064, - "src": "13340:8:15", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 8855, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13340:36:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8856, - "nodeType": "EmitStatement", - "src": "13335:41:15" - } - ] - }, - "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": 8858, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8793, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8792, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8858, - "src": "12871:15:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8791, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12871:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12870:17:15" - }, - "returnParameters": { - "id": 8794, - "nodeType": "ParameterList", - "parameters": [], - "src": "12905:0:15" - }, - "scope": 9051, - "src": "12856:527:15", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 8928, - "nodeType": "Block", - "src": "13786:505:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 8873, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8870, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8864, - "src": "13819:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8868, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9051, - "src": "13804:6:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$9051_$", - "typeString": "type(contract ERC721)" - } - }, - "id": 8869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ownerOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 8282, - "src": "13804:14:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 8871, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13804:23:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 8872, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8860, - "src": "13831:4:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13804:31:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e", - "id": 8874, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13837:43:15", - "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": 8867, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "13796:7:15", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8875, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13796:85:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8876, - "nodeType": "ExpressionStatement", - "src": "13796:85:15" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 8883, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8878, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8862, - "src": "13917:2:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 8881, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13931:1:15", - "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": 8880, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13923:7:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 8879, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13923:7:15", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8882, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13923:10:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "13917:16:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a207472616e7366657220746f20746865207a65726f2061646472657373", - "id": 8884, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13935:38:15", - "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": 8877, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "13909:7:15", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8885, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13909:65:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8886, - "nodeType": "ExpressionStatement", - "src": "13909:65:15" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8888, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8860, - "src": "14006:4:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8889, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8862, - "src": "14012:2:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8890, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8864, - "src": "14016:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8887, - "name": "_beforeTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9050, - "src": "13985:20:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 8891, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13985:39:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8892, - "nodeType": "ExpressionStatement", - "src": "13985:39:15" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 8896, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14103:1:15", - "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": 8895, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14095:7:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 8894, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14095:7:15", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8897, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14095:10:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 8898, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8864, - "src": "14107:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8893, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9040, - "src": "14086:8:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 8899, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14086:29:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8900, - "nodeType": "ExpressionStatement", - "src": "14086:29:15" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8905, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8864, - "src": "14153:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8901, - "name": "_holderTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8183, - "src": "14126:13:15", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UintSet_$10452_storage_$", - "typeString": "mapping(address => struct EnumerableSet.UintSet storage ref)" - } - }, - "id": 8903, - "indexExpression": { - "argumentTypes": null, - "id": 8902, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8860, - "src": "14140:4:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14126:19:15", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10452_storage", - "typeString": "struct EnumerableSet.UintSet storage ref" - } - }, - "id": 8904, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "remove", - "nodeType": "MemberAccess", - "referencedDeclaration": 10490, - "src": "14126:26:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_UintSet_$10452_storage_ptr_$_t_uint256_$returns$_t_bool_$bound_to$_t_struct$_UintSet_$10452_storage_ptr_$", - "typeString": "function (struct EnumerableSet.UintSet storage pointer,uint256) returns (bool)" - } - }, - "id": 8906, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14126:35:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 8907, - "nodeType": "ExpressionStatement", - "src": "14126:35:15" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8912, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8864, - "src": "14193:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8908, - "name": "_holderTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8183, - "src": "14171:13:15", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UintSet_$10452_storage_$", - "typeString": "mapping(address => struct EnumerableSet.UintSet storage ref)" - } - }, - "id": 8910, - "indexExpression": { - "argumentTypes": null, - "id": 8909, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8862, - "src": "14185:2:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14171:17:15", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10452_storage", - "typeString": "struct EnumerableSet.UintSet storage ref" - } - }, - "id": 8911, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 10471, - "src": "14171:21:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_UintSet_$10452_storage_ptr_$_t_uint256_$returns$_t_bool_$bound_to$_t_struct$_UintSet_$10452_storage_ptr_$", - "typeString": "function (struct EnumerableSet.UintSet storage pointer,uint256) returns (bool)" - } - }, - "id": 8913, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14171:30:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 8914, - "nodeType": "ExpressionStatement", - "src": "14171:30:15" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8918, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8864, - "src": "14229:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8919, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8862, - "src": "14238:2:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 8915, - "name": "_tokenOwners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8185, - "src": "14212:12:15", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage", - "typeString": "struct EnumerableMap.UintToAddressMap storage ref" - } - }, - "id": 8917, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "set", - "nodeType": "MemberAccess", - "referencedDeclaration": 9884, - "src": "14212:16:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_UintToAddressMap_$9853_storage_ptr_$_t_uint256_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_UintToAddressMap_$9853_storage_ptr_$", - "typeString": "function (struct EnumerableMap.UintToAddressMap storage pointer,uint256,address) returns (bool)" - } - }, - "id": 8920, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14212:29:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 8921, - "nodeType": "ExpressionStatement", - "src": "14212:29:15" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8923, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8860, - "src": "14266:4:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8924, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8862, - "src": "14272:2:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8925, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8864, - "src": "14276:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8922, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9064, - "src": "14257:8:15", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 8926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14257:27:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8927, - "nodeType": "EmitStatement", - "src": "14252:32:15" - } - ] - }, - "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": 8929, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8865, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8860, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8929, - "src": "13726:12:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8859, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13726:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8862, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8929, - "src": "13740:10:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8861, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13740:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8864, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8929, - "src": "13752:15:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8863, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13752:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13725:43:15" - }, - "returnParameters": { - "id": 8866, - "nodeType": "ParameterList", - "parameters": [], - "src": "13786:0:15" - }, - "scope": 9051, - "src": "13707:584:15", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 8949, - "nodeType": "Block", - "src": "14519:131:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8938, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8931, - "src": "14545:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8937, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8649, - "src": "14537:7:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 8939, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14537:16:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732314d657461646174613a2055524920736574206f66206e6f6e6578697374656e7420746f6b656e", - "id": 8940, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14555:46:15", - "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": 8936, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "14529:7:15", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8941, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14529:73:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8942, - "nodeType": "ExpressionStatement", - "src": "14529:73:15" - }, - { - "expression": { - "argumentTypes": null, - "id": 8947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8943, - "name": "_tokenURIs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8203, - "src": "14612:10:15", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string storage ref)" - } - }, - "id": 8945, - "indexExpression": { - "argumentTypes": null, - "id": 8944, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8931, - "src": "14623:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "14612:19:15", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8946, - "name": "_tokenURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8933, - "src": "14634:9:15", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "14612:31:15", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 8948, - "nodeType": "ExpressionStatement", - "src": "14612:31:15" - } - ] - }, - "documentation": "@dev Sets `_tokenURI` as the tokenURI of `tokenId`.\n * Requirements:\n * - `tokenId` must exist.", - "id": 8950, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_setTokenURI", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8934, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8931, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8950, - "src": "14460:15:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8930, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14460:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8933, - "name": "_tokenURI", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8950, - "src": "14477:23:15", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 8932, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "14477:6:15", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14459:42:15" - }, - "returnParameters": { - "id": 8935, - "nodeType": "ParameterList", - "parameters": [], - "src": "14519:0:15" - }, - "scope": 9051, - "src": "14438:212:15", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 8959, - "nodeType": "Block", - "src": "14935:36:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 8957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8955, - "name": "_baseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8205, - "src": "14945:8:15", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8956, - "name": "baseURI_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8952, - "src": "14956:8:15", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "14945:19:15", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 8958, - "nodeType": "ExpressionStatement", - "src": "14945:19:15" - } - ] - }, - "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": 8960, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_setBaseURI", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8953, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8952, - "name": "baseURI_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8960, - "src": "14894:22:15", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 8951, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "14894:6:15", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14893:24:15" - }, - "returnParameters": { - "id": 8954, - "nodeType": "ParameterList", - "parameters": [], - "src": "14935:0:15" - }, - "scope": 9051, - "src": "14873:98:15", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 9016, - "nodeType": "Block", - "src": "15654:459:15", - "statements": [ - { - "condition": { - "argumentTypes": null, - "id": 8976, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "15668:16:15", - "subExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 8973, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8964, - "src": "15669:2:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 8974, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "isContract", - "nodeType": "MemberAccess", - "referencedDeclaration": 9238, - "src": "15669:13:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$bound_to$_t_address_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 8975, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15669:15:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 8980, - "nodeType": "IfStatement", - "src": "15664:58:15", - "trueBody": { - "id": 8979, - "nodeType": "Block", - "src": "15686:36:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 8977, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15707:4:15", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 8972, - "id": 8978, - "nodeType": "Return", - "src": "15700:11:15" - } - ] - } - }, - { - "assignments": [ - 8982 - ], - "declarations": [ - { - "constant": false, - "id": 8982, - "name": "returndata", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9016, - "src": "15731:23:15", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 8981, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "15731:5:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9000, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8988, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8964, - "src": "15825:2:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 8987, - "name": "IERC721Receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9220, - "src": "15809:15:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC721Receiver_$9220_$", - "typeString": "type(contract IERC721Receiver)" - } - }, - "id": 8989, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15809:19:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721Receiver_$9220", - "typeString": "contract IERC721Receiver" - } - }, - "id": 8990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "onERC721Received", - "nodeType": "MemberAccess", - "referencedDeclaration": 9219, - "src": "15809:36:15", - "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": 8991, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15809:45:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8992, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9516, - "src": "15868:10:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 8993, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15868:12:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 8994, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8962, - "src": "15894:4:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8995, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8966, - "src": "15912:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8996, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8968, - "src": "15933:5:15", - "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": 8985, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "15773:3:15", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 8986, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15773:22:15", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 8997, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15773:175:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e746572", - "id": 8998, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15950:52:15", - "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": 8983, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8964, - "src": "15757:2:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 8984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "functionCall", - "nodeType": "MemberAccess", - "referencedDeclaration": 9306, - "src": "15757:15:15", - "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": 8999, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15757:246:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15731:272:15" - }, - { - "assignments": [ - 9002 - ], - "declarations": [ - { - "constant": false, - "id": 9002, - "name": "retval", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9016, - "src": "16013:13:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 9001, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "16013:6:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9010, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9005, - "name": "returndata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8982, - "src": "16040:10:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 9007, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16053:6:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes4_$", - "typeString": "type(bytes4)" - }, - "typeName": { - "id": 9006, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "16053:6:15", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - } - ], - "id": 9008, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "16052:8:15", - "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": 9003, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "16029:3:15", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 9004, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "decode", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16029:10:15", - "typeDescriptions": { - "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 9009, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16029:32:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16013:48:15" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 9013, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9011, - "name": "retval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9002, - "src": "16079:6:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 9012, - "name": "_ERC721_RECEIVED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8179, - "src": "16089:16:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "16079:26:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 9014, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "16078:28:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 8972, - "id": 9015, - "nodeType": "Return", - "src": "16071:35:15" - } - ] - }, - "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": 9017, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_checkOnERC721Received", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8969, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8962, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9017, - "src": "15556:12:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8961, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15556:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8964, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9017, - "src": "15570:10:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8963, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15570:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8966, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9017, - "src": "15582:15:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8965, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15582:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8968, - "name": "_data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9017, - "src": "15599:18:15", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 8967, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "15599:5:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15555:63:15" - }, - "returnParameters": { - "id": 8972, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8971, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9017, - "src": "15644:4:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 8970, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "15644:4:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15643:6:15" - }, - "scope": 9051, - "src": "15524:589:15", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 9039, - "nodeType": "Block", - "src": "16289:125:15", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 9028, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 9024, - "name": "_tokenApprovals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8189, - "src": "16299:15:15", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 9026, - "indexExpression": { - "argumentTypes": null, - "id": 9025, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9021, - "src": "16315:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "16299:24:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 9027, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9019, - "src": "16326:2:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "16299:29:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 9029, - "nodeType": "ExpressionStatement", - "src": "16299:29:15" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9033, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9021, - "src": "16367:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9031, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9051, - "src": "16352:6:15", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$9051_$", - "typeString": "type(contract ERC721)" - } - }, - "id": 9032, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ownerOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 8282, - "src": "16352:14:15", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 9034, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16352:23:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9035, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9019, - "src": "16377:2:15", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9036, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9021, - "src": "16381:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9030, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9072, - "src": "16343:8:15", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 9037, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16343:46:15", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9038, - "nodeType": "EmitStatement", - "src": "16338:51:15" - } - ] - }, - "documentation": "@dev Approve `to` to operate on `tokenId`\n * Emits an {Approval} event.", - "id": 9040, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9022, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9019, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9040, - "src": "16243:10:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9018, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16243:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9021, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9040, - "src": "16255:15:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9020, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16255:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16242:29:15" - }, - "returnParameters": { - "id": 9023, - "nodeType": "ParameterList", - "parameters": [], - "src": "16289:0:15" - }, - "scope": 9051, - "src": "16225:189:15", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 9049, - "nodeType": "Block", - "src": "17100:3:15", - "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": 9050, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_beforeTokenTransfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9047, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9042, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9050, - "src": "17040:12:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9041, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17040:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9044, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9050, - "src": "17054:10:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9043, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17054:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9046, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9050, - "src": "17066:15:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9045, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17066:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17039:43:15" - }, - "returnParameters": { - "id": 9048, - "nodeType": "ParameterList", - "parameters": [], - "src": "17100:0:15" - }, - "scope": 9051, - "src": "17010:93:15", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - } - ], - "scope": 9052, - "src": "571:16534:15" - } - ], - "src": "33:17073:15" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.20", - "updatedAt": "2021-05-11T16:04:02.517Z", - "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 2014347f..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:9;:18;;516:10;-1:-1:-1;;;;;;508:18:9;;;;;;;-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:10;;-1:-1:-1;;;;787:20:10;-1:-1:-1;;;;;;;768:18:10;:40;:::i;:::-;3651:13:15;;;;:5;;:13;;;;;:::i;:::-;-1:-1:-1;3674:17:15;;;;:7;;:17;;;;;:::i;:::-;-1:-1:-1;3779:40:15;-1:-1:-1;;;;;;;;3779:18:15;:40;:::i;:::-;3829:49;-1:-1:-1;;;;;;;;3829:18:15;:49;:::i;:::-;3888:51;-1:-1:-1;;;;;;;;3888:18:15;:51;:::i;:::-;3577:369;;5178:343:3;;;;;;;5126:1392;;1507:198:10;-1:-1:-1;;;;;;1590:25:10;;;;;1582:66;;;;;-1:-1:-1;;;1582:66:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1658:33:10;;;;;:20;:33;;;;;:40;;-1:-1:-1;;1658:40:10;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:10;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;965:148:10;-1:-1:-1;;;;;;965:148:10;;:::i;4517:98: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;4517:98:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7222:217;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7222:217:15;;:::i;6766:395::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;6766:395:15;;;;;;;;:::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:15:-;;;:::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:15:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;8086:300:15;;;;;;;;;;;;;;;;;:::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:15;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;6029:160:15;;;;;;;;:::i;372:28:3:-;;;:::i;8452:149:15:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;8452:149:15;;;;;;;;;;;;;;;;;:::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:15:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6540:169:15;;:::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:15:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4280:175:15;;:::i;271:27:3:-;;;:::i;5855:95:15:-;;;:::i;4005:218::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4005:218:15;-1:-1:-1;;;;;4005:218:15;;:::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:9:-;;;:::i;304:30:3:-;;;:::i;4679:102:15:-;;;:::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:15:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;7506:290:15;;;;;;;;;;:::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:15:-;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;8667:282:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;8667:282:15;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;8667:282:15;;;;;;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:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;8667:282:15;;-1:-1:-1;8667:282:15;;-1:-1:-1;;;;;8667:282:15:i;988:29:3:-;;;:::i;4847:776:15:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4847:776:15;;:::i;442:37:3:-;;;:::i;1098:27::-;;;:::i;7862:162:15:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;7862:162:15;;;;;;;;;;:::i;1131:31:3:-;;;:::i;1023:30::-;;;:::i;864:188:9:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;864:188:9;-1:-1:-1;;;;;864:188:9;;:::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:10:-;-1:-1:-1;;;;;;1073:33:10;;1050:4;1073:33;;;:20;:33;;;;;;;;965:148;;;;:::o;4517:98:15:-;4603:5;4596:12;;;;;;;;-1:-1:-1;;4596:12:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7408:24:15;;;;:15;:24;;;;;;-1:-1:-1;;;;;7408:24:15;;7222:217::o;6766:395::-;6846:13;6862:23;6877:7;6862:14;:23::i;:::-;6846:39;;6909:5;-1:-1:-1;;;;;6903:11:15;:2;-1:-1:-1;;;;;6903:11:15;;;6895:57;;;;-1:-1:-1;;;6895:57:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6987:5;-1:-1:-1;;;;;6971:21:15;:12;:10;:12::i;:::-;-1:-1:-1;;;;;6971:21:15;;:69;;;;6996:44;7020:5;7027:12;:10;:12::i;:::-;6996:23;:44::i;:::-;6963:159;;;;-1:-1:-1;;;6963:159:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7133:21;7142:2;7146:7;7133:8;:21::i;:::-;6766:395;;;:::o;5633:117:3:-;672:5:9;;-1:-1:-1;;;;;672:5:9;658:10;:19;650:28;;;;;;5717:26:3::1;5730:7;5739:3;5717:12;:26::i;:::-;5633:117:::0;;:::o;6260:208:15:-;6321:7;6440:21;:12;:19;:21::i;:::-;6433:28;;6260:208;:::o;687:65:3:-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;8086:300:15:-;8245:41;8264:12;:10;:12::i;:::-;8278:7;8245:18;:41::i;:::-;8237:103;;;;-1:-1:-1;;;8237:103:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8351:28;8361:4;8367:2;8371:7;8351:9;:28::i;3547:118:3:-;672:5:9;;-1:-1:-1;;;;;672:5:9;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:9;;-1:-1:-1;;;;;672:5:9;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:15:-;-1:-1:-1;;;;;6152:20:15;;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:15:-;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:15:-;6615:7;;6656:22;:12;6672:5;6656:22;:15;:22;:::i;:::-;-1:-1:-1;6634:44:15;6540:169;-1:-1:-1;;;6540:169:15:o;6301:75:3:-;6352:17;6362:6;6352:9;:17::i;:::-;6301:75;:::o;950:32::-;;;;:::o;5756:97::-;672:5:9;;-1:-1:-1;;;;;672:5:9;658:10;:19;650:28;;;;;;5826:20:3::1;5838:7;5826:11;:20::i;4280:175:15:-: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:15:-;5935:8;5928:15;;;;;;;;-1:-1:-1;;5928:15:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5903:13;;5928:15;;5935:8;;5928:15;;5935:8;5928:15;;;;;;;;;;;;;;;;;;;;;;;;4005:218;4077:7;-1:-1:-1;;;;;4104:19:15;;4096:74;;;;-1:-1:-1;;;4096:74:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4187:20:15;;;;;;:13;:20;;;;;:29;;:27;:29::i;1059:32:3:-;;;;:::o;485:29::-;;;;:::o;520:39::-;;;;:::o;3778:101::-;672:5:9;;-1:-1:-1;;;;;672:5:9;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:9:-;;;-1:-1:-1;;;;;239:20:9;;:::o;304:30:3:-;;;-1:-1:-1;;;;;304:30:3;;:::o;4679:102:15:-;4767:7;4760:14;;;;;;;;-1:-1:-1;;4760:14:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4735:13;;4760:14;;4767:7;;4760:14;;4767:7;4760:14;;;;;;;;;;;;;;;;;;;;;;;;3671:101:3;672:5:9;;-1:-1:-1;;;;;672:5:9;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:15:-;7620:12;:10;:12::i;:::-;-1:-1:-1;;;;;7608:24:15;:8;-1:-1:-1;;;;;7608:24:15;;;7600:62;;;;;-1:-1:-1;;;7600:62:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;7718:8;7673:18;:32;7692:12;:10;:12::i;:::-;-1:-1:-1;;;;;7673:32:15;;;;;;;;;;;;;;;;;-1:-1:-1;7673:32:15;;;:42;;;;;;;;;;;;:53;;-1:-1:-1;;7673:53:15;;;;;;;;;;;7756:12;:10;:12::i;:::-;7741:48;;;;;;;;;;-1:-1:-1;;;;;7741:48:15;;;;;;;;;;;;;;7506:290;;:::o;4070:67:3:-;672:5:9;;-1:-1:-1;;;;;672:5:9;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:15:-;8798:41;8817:12;:10;:12::i;:::-;8831:7;8798:18;:41::i;:::-;8790:103;;;;-1:-1:-1;;;8790:103:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8903:39;8917:4;8923:2;8927:7;8936:5;8903:13;:39::i;:::-;8667:282;;;;:::o;988:29:3:-;;;;:::o;4847:776:15:-;4920:13;4953:16;4961:7;4953;:16::i;:::-;4945:76;;;;-1:-1:-1;;;4945:76:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5058:19;;;;:10;:19;;;;;;;;;5032:45;;;;;;-1:-1:-1;;5032:45:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;: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:15;-1:-1:-1;5229:16:15;;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::15;;;;;;;;;;-1:-1:-1;5415:33:15;;;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:15;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;5415:33:15;;;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:15;;;;;;;;;;-1:-1:-1;5573:42:15;;;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:15;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;5573:42:15;;;5559:57;;;;4847:776;;;:::o;442:37:3:-;;;;:::o;1098:27::-;;;;;;:::o;7862:162:15:-;-1:-1:-1;;;;;7982:25:15;;;7959:4;7982:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;7862:162::o;1131:31:3:-;;;;:::o;1023:30::-;;;;:::o;864:188:9:-;672:5;;-1:-1:-1;;;;;672:5:9;658:10;:19;650:28;;;;;;-1:-1:-1;;;;;944:22:9;::::1;936:31;;;::::0;::::1;;1003:5;::::0;;982:37:::1;::::0;-1:-1:-1;;;;;982:37:9;;::::1;::::0;1003:5;::::1;::::0;982:37:::1;::::0;::::1;1029:5;:16:::0;;-1:-1:-1;;;;;;1029:16:9::1;-1:-1:-1::0;;;;;1029:16:9;;;::::1;::::0;;;::::1;::::0;;864:188::o;3885:109:3:-;672:5:9;;-1:-1:-1;;;;;672:5:9;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:9;;-1:-1:-1;;;;;672:5:9;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:15:-;10448:4;10471:30;:12;10493:7;10471:30;:21;:30;:::i;598:104:21:-;685:10;598:104;:::o;16225:189:15:-;16299:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;16299:29:15;-1:-1:-1;;;;;16299:29:15;;;;;;;;:24;;16352:23;16299:24;16352:14;:23::i;:::-;-1:-1:-1;;;;;16343:46:15;;;;;;;;;;;16225:189;;:::o;14438:212::-;14537:16;14545:7;14537;:16::i;:::-;14529:73;;;;-1:-1:-1;;;14529:73:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14612:19;;;;:10;:19;;;;;;;;:31;;;;;;;;:::i;7820:121:22:-;7889:7;7915:19;7923:3;7915:7;:19::i;10666:351:15:-;10759:4;10783:16;10791:7;10783;:16::i;:::-;10775:73;;;;-1:-1:-1;;;10775:73:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10858:13;10874:23;10889:7;10874:14;:23::i;:::-;10858:39;;10926:5;-1:-1:-1;;;;;10915:16:15;:7;-1:-1:-1;;;;;10915:16:15;;:51;;;;10959:7;-1:-1:-1;;;;;10935:31:15;:20;10947:7;10935:11;:20::i;:::-;-1:-1:-1;;;;;10935:31:15;;10915:51;:94;;;;10970:39;10994:5;11001:7;10970:23;:39::i;:::-;10907:103;10666:351;-1:-1:-1;;;;10666:351:15:o;13707:584::-;13831:4;-1:-1:-1;;;;;13804:31:15;:23;13819:7;13804:14;:23::i;:::-;-1:-1:-1;;;;;13804:31:15;;13796:85;;;;-1:-1:-1;;;13796:85:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13917:16:15;;13909:65;;;;-1:-1:-1;;;13909:65:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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:15;;;;;;:13;:19;;;;;:35;;14153:7;14126:35;:26;:35;:::i;:::-;-1:-1:-1;;;;;;14171:17:15;;;;;;:13;:17;;;;;:30;;14193:7;14171:30;:21;:30;:::i;:::-;-1:-1:-1;14212:29:15;:12;14229:7;14238:2;14212:29;:16;:29;:::i;:::-;;14276:7;14272:2;-1:-1:-1;;;;;14257:27:15;14266:4;-1:-1:-1;;;;;14257:27:15;;;;;;;;;;;13707:584;;;:::o;9250:135:23:-;9321:7;9355:22;9359:3;9371:5;9355:3;:22::i;8269:233:22:-;8349:7;;;;8408:22;8412:3;8424:5;8408:3;:22::i;:::-;8377:53;;;;-1:-1:-1;8269:233:22;-1:-1:-1;;;;;8269:233:22: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:15:-;14945:19;;;;:8;;:19;;;;;:::i;9522:211:22:-;9629:7;9679:44;9684:3;9704;9710:12;9679:4;:44::i;:::-;9671:53;-1:-1:-1;9522:211:22;;;;;;:::o;11348:108:15:-;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:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;210:725:25;266:13;483:10;479:51;;-1:-1:-1;509:10:25;;;;;;;;;;;;-1:-1:-1;;;509:10:25;;;;;;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:25;87:34:-1;135:17;;-1:-1;699:17:25;-1:-1:-1;769:5:25;;-1:-1:-1;677:39:25;-1:-1:-1;;;742:10:25;;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:25;;;;;;;;-1:-1:-1;885:2:25;877:10;;;;784:114;;;-1:-1:-1;921:6:25;210:725;-1:-1:-1;;;;210:725:25:o;7588:149:22:-;7672:4;7695:35;7705:3;7725;7695:9;:35::i;4491:108::-;4573:19;;4491:108::o;8365:135:23:-;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:22:-;7116:4;7139:64;7144:3;7164;-1:-1:-1;;;;;7178:23:22;;7139:4;:64::i;4452:201:23:-;4546:18;;4519:7;;4546:26;-1:-1:-1;4538:73:23;;;;-1:-1:-1;;;4538:73:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4628:3;:11;;4640:5;4628:18;;;;;;;;;;;;;;;;4621:25;;4452:201;;;;:::o;4942:274:22:-;5045:19;;5009:7;;;;5045:27;-1:-1:-1;5037:74:22;;;;-1:-1:-1;;;5037:74:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5122:22;5147:3;:12;;5160:5;5147:19;;;;;;;;;;;;;;;;;;5122:44;;5184:5;:10;;;5196:5;:12;;;5176:33;;;;;4942:274;;;;;:::o;3538:215:12:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:12;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2690:175;2748:7;2779:5;;;2802:6;;;;2794:46;;;;;-1:-1:-1;;;2794:46:12;;;;;;;;;;;;;;;;;;;;;;;;;;;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:22;6497:7;6535:17;;;:12;;;:17;;;;;;6585:12;6570:13;6562:36;;;;-1:-1:-1;;;6562:36:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6651:3;:12;;6675:1;6664:8;:12;6651:26;;;;;;;;;;;;;;;;;;:33;;;6644:40;;;6403:315;;;;;:::o;11677:247:15:-;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:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15524:589;15644:4;15669:15;:2;-1:-1:-1;;;;;15669:13:15;;:15::i;:::-;15664:58;;-1:-1:-1;15707:4:15;15700:11;;15664:58;15731:23;15757:246;-1:-1:-1;;;15868:12:15;:10;:12::i;:::-;15894:4;15912:7;15933:5;15773:175;;;;;;-1:-1:-1;;;;;15773:175:15;-1:-1:-1;;;;;15773:175:15;;;;;;-1:-1:-1;;;;;15773:175:15;-1:-1:-1;;;;;15773:175:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;15773:175:15;;;;-1:-1:-1;;;;;15773:175:15;;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:15;15757:246;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15757:15:15;;;: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:15;-1:-1:-1;;;;;;16079:26:15;-1:-1:-1;;;16079:26:15;;-1:-1:-1;;;15524:589:15;;;;;;:::o;4278:123:22:-;4349:4;4372:17;;;:12;;;;;:17;;;;;;:22;;;4278:123::o;2212:1512:23:-;2278:4;2415:19;;;:12;;;:19;;;;;;2449:15;;2445:1273;;2878:18;;-1:-1:-1;;2830:14:23;;;;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:23;:23;;;;;;;;;;;;;1941:18;;1919:19;;;:12;;;:19;;;;;;:40;;;;1973:11;;1719:319;-1:-1:-1;2022:5:23;2015:12;;1836:678:22;1912:4;2045:17;;;:12;;;:17;;;;;;2077:13;2073:435;;-1:-1:-1;;2161:38:22;;;;;;;;;;;;;;;;;;27:10:-1;;39:1;23:18;;;45:23;;2143:12:22;: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:15;-1:-1:-1;;;;;12325:16:15;;12317:61;;;;;-1:-1:-1;;;12317:61:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12397:16;12405:7;12397;:16::i;:::-;12396:17;12388:58;;;;;-1:-1:-1;;;12388:58:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;12457:45;12486:1;12490:2;12494:7;12457:20;:45::i;:::-;-1:-1:-1;;;;;12513:17:15;;;;;;:13;:17;;;;;:30;;12535:7;12513:30;:21;:30;:::i;:::-;-1:-1:-1;12554:29:15;:12;12571:7;12580:2;12554:29;:16;:29;:::i;:::-;-1:-1:-1;12599:33:15;;12624:7;;-1:-1:-1;;;;;12599:33:15;;;12616:1;;12599:33;;12616:1;;12599:33;12246:393;;:::o;726:413:20:-;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:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:20;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:20;;;;;;;;;;;;;;;;;;;;;;;;;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:20;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:20:o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:20;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:20;;;;;;;;;;;;;;;;;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": 9052, - "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": 8070, - "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": 7182, - "src": "173:29:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 498, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7181, - "src": "224:7:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$7181", - "typeString": "contract Ownable" - } - }, - "id": 499, - "nodeType": "InheritanceSpecifier", - "src": "224:7:3" - } - ], - "contractDependencies": [ - 7181 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 894, - "linearizedBaseContracts": [ - 894, - 7181 - ], - "name": "Opener", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 502, - "libraryName": { - "contractScope": null, - "id": 500, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7585, - "src": "244:8:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$7585", - "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_$8069", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 503, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8069, - "src": "271:5:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "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_$8069", - "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_$8069", - "typeString": "contract ERC20" - } - }, - "src": "1354:30:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "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_$8069", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 567, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8069, - "src": "1190:5:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "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": 7473, - "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_$8069", - "typeString": "contract ERC20" - } - }, - "id": 629, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "allowance", - "nodeType": "MemberAccess", - "referencedDeclaration": 7718, - "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": 7419, - "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": 7419, - "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_$8069", - "typeString": "contract ERC20" - } - }, - "id": 736, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 7775, - "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_$8069", - "typeString": "contract ERC20" - } - }, - "id": 758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 7775, - "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_$8069", - "typeString": "contract ERC20" - } - }, - "id": 782, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 7775, - "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": 7154, - "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_$8069", - "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_$8069", - "typeString": "contract ERC20" - } - }, - "src": "3628:30:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "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": 7154, - "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_$8069", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 826, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8069, - "src": "3580:5:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "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": 7154, - "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": 7154, - "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": 7154, - "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": 7154, - "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": 7154, - "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": 9051, - "src": "4273:6:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721_$9051", - "typeString": "contract ERC721" - } - }, - "id": 896, - "nodeType": "InheritanceSpecifier", - "src": "4273:6:3" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 897, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7181, - "src": "4281:7:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$7181", - "typeString": "contract Ownable" - } - }, - "id": 898, - "nodeType": "InheritanceSpecifier", - "src": "4281:7:3" - } - ], - "contractDependencies": [ - 7181, - 7234, - 7244, - 9051, - 9154, - 9181, - 9204, - 9528 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 983, - "linearizedBaseContracts": [ - 983, - 7181, - 9051, - 9181, - 9204, - 9154, - 7234, - 7244, - 9528 - ], - "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": 9051, - "src": "4358:6:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$9051_$", - "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": 8649, - "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": 8950, - "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": 7154, - "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": 8960, - "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": 7154, - "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": [ - 8704, - 8732 - ], - "referencedDeclaration": 8704, - "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": 7154, - "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": [ - 8704, - 8732 - ], - "referencedDeclaration": 8732, - "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": 7154, - "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": 9051, - "src": "5164:6:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721_$9051", - "typeString": "contract ERC721" - } - }, - "id": 987, - "nodeType": "InheritanceSpecifier", - "src": "5164:6:3" - } - ], - "contractDependencies": [ - 894, - 7181, - 7234, - 7244, - 9051, - 9154, - 9181, - 9204, - 9528 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 1122, - "linearizedBaseContracts": [ - 1122, - 9051, - 9181, - 9204, - 9154, - 7234, - 7244, - 9528, - 894, - 7181 - ], - "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": 9051, - "src": "5400:6:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$9051_$", - "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_$8069", - "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_$8069", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 994, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8069, - "src": "5281:5:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "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": 8649, - "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": 8950, - "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": 7154, - "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": 8960, - "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": 7154, - "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": [ - 8704, - 8732 - ], - "referencedDeclaration": 8704, - "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": 9052, - "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": 8070, - "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": 7182, - "src": "173:29:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 498, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7181, - "src": "224:7:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$7181", - "typeString": "contract Ownable" - } - }, - "id": 499, - "nodeType": "InheritanceSpecifier", - "src": "224:7:3" - } - ], - "contractDependencies": [ - 7181 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 894, - "linearizedBaseContracts": [ - 894, - 7181 - ], - "name": "Opener", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 502, - "libraryName": { - "contractScope": null, - "id": 500, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7585, - "src": "244:8:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$7585", - "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_$8069", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 503, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8069, - "src": "271:5:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "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_$8069", - "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_$8069", - "typeString": "contract ERC20" - } - }, - "src": "1354:30:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "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_$8069", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 567, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8069, - "src": "1190:5:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "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": 7473, - "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_$8069", - "typeString": "contract ERC20" - } - }, - "id": 629, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "allowance", - "nodeType": "MemberAccess", - "referencedDeclaration": 7718, - "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": 7419, - "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": 7419, - "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_$8069", - "typeString": "contract ERC20" - } - }, - "id": 736, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 7775, - "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_$8069", - "typeString": "contract ERC20" - } - }, - "id": 758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 7775, - "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_$8069", - "typeString": "contract ERC20" - } - }, - "id": 782, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 7775, - "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": 7154, - "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_$8069", - "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_$8069", - "typeString": "contract ERC20" - } - }, - "src": "3628:30:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "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": 7154, - "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_$8069", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 826, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8069, - "src": "3580:5:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "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": 7154, - "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": 7154, - "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": 7154, - "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": 7154, - "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": 7154, - "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": 9051, - "src": "4273:6:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721_$9051", - "typeString": "contract ERC721" - } - }, - "id": 896, - "nodeType": "InheritanceSpecifier", - "src": "4273:6:3" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 897, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7181, - "src": "4281:7:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$7181", - "typeString": "contract Ownable" - } - }, - "id": 898, - "nodeType": "InheritanceSpecifier", - "src": "4281:7:3" - } - ], - "contractDependencies": [ - 7181, - 7234, - 7244, - 9051, - 9154, - 9181, - 9204, - 9528 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 983, - "linearizedBaseContracts": [ - 983, - 7181, - 9051, - 9181, - 9204, - 9154, - 7234, - 7244, - 9528 - ], - "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": 9051, - "src": "4358:6:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$9051_$", - "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": 8649, - "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": 8950, - "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": 7154, - "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": 8960, - "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": 7154, - "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": [ - 8704, - 8732 - ], - "referencedDeclaration": 8704, - "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": 7154, - "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": [ - 8704, - 8732 - ], - "referencedDeclaration": 8732, - "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": 7154, - "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": 9051, - "src": "5164:6:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721_$9051", - "typeString": "contract ERC721" - } - }, - "id": 987, - "nodeType": "InheritanceSpecifier", - "src": "5164:6:3" - } - ], - "contractDependencies": [ - 894, - 7181, - 7234, - 7244, - 9051, - 9154, - 9181, - 9204, - 9528 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 1122, - "linearizedBaseContracts": [ - 1122, - 9051, - 9181, - 9204, - 9154, - 7234, - 7244, - 9528, - 894, - 7181 - ], - "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": 9051, - "src": "5400:6:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$9051_$", - "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_$8069", - "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_$8069", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 994, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8069, - "src": "5281:5:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "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": 8649, - "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": 8950, - "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": 7154, - "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": 8960, - "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": 7154, - "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": [ - 8704, - 8732 - ], - "referencedDeclaration": 8704, - "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-05-11T16:04:02.410Z", - "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/ERC721Standard.json b/build/contracts/ERC721Standard.json deleted file mode 100644 index 84889ed5..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:10;-1:-1:-1;;;;;;;;768:18:10;:40;:::i;:::-;3651:13:15;;;;:5;;:13;;;;;:::i;:::-;-1:-1:-1;3674:17:15;;;;:7;;:17;;;;;:::i;:::-;-1:-1:-1;3779:40:15;-1:-1:-1;;;;;;;;3779:18:15;:40;:::i;:::-;3829:49;-1:-1:-1;;;;;;;;3829:18:15;:49;:::i;:::-;3888:51;-1:-1:-1;;;;;;;;3888:18:15;:51;:::i;:::-;-1:-1:-1;;508:5:9;:18;;-1:-1:-1;;;;;;508:18:9;516:10;508:18;;;-1:-1:-1;4246:707:3;;-1:-1:-1;4246:707:3;1507:198:10;-1:-1:-1;;;;;;1590:25:10;;;;;1582:66;;;;;-1:-1:-1;;;1582:66:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1658:33:10;:20;:33;;;;;;;;;;:40;;-1:-1:-1;;1658:40:10;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:10;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;965:148:10;-1:-1:-1;;;;;;965:148:10;;:::i;:::-;;;;;;;;;;;;;;;;;;4517:98: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;4517:98:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7222:217;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7222:217:15;;:::i;:::-;;;;-1:-1:-1;;;;;7222:217:15;;;;;;;;;;;;;;6766:395;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;6766:395:15;;;;;;;;:::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:15:-;;;:::i;:::-;;;;;;;;;;;;;;;;8086:300;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;8086:300:15;;;;;;;;;;;;;;;;;:::i;6029:160::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;6029:160:15;;;;;;;;:::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:15:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;8452:149:15;;;;;;;;;;;;;;;;;:::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:15:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6540:169:15;;:::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:15:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4280:175:15;;:::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:15;-1:-1:-1;;;;;4005:218:15;;:::i;239:20:9:-;;;:::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:15:-;;;:::i;7506:290::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;7506:290:15;;;;;;;;;;:::i;8667:282::-;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;8667:282:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;8667:282:15;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;8667:282:15;;;;;;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:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;8667:282:15;;-1:-1:-1;8667:282:15;;-1:-1:-1;;;;;8667:282:15:i;4847:776::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4847:776:15;;:::i;7862:162::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;7862:162:15;;;;;;;;;;:::i;864:188:9:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;864:188:9;-1:-1:-1;;;;;864:188:9;;:::i;965:148:10:-;-1:-1:-1;;;;;;1073:33:10;;1050:4;1073:33;;;;;;;;;;;;;965:148;;;;:::o;4517:98:15:-;4603:5;4596:12;;;;;;;;-1:-1:-1;;4596:12:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7408:24:15;;;;:15;:24;;;;;;-1:-1:-1;;;;;7408:24:15;;7222:217::o;6766:395::-;6846:13;6862:23;6877:7;6862:14;:23::i;:::-;6846:39;;6909:5;-1:-1:-1;;;;;6903:11:15;:2;-1:-1:-1;;;;;6903:11:15;;;6895:57;;;;-1:-1:-1;;;6895:57:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6987:5;-1:-1:-1;;;;;6971:21:15;:12;:10;:12::i;:::-;-1:-1:-1;;;;;6971:21:15;;:69;;;;6996:44;7020:5;7027:12;:10;:12::i;:::-;6996:23;:44::i;:::-;6963:159;;;;-1:-1:-1;;;6963:159:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7133:21;7142:2;7146:7;7133:8;:21::i;:::-;6766:395;;;:::o;4494:117:3:-;672:5:9;;-1:-1:-1;;;;;672:5:9;658:10;:19;650:28;;;;;;4578:26:3::1;4591:7;4600:3;4578:12;:26::i;:::-;4494:117:::0;;:::o;6260:208:15:-;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:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8351:28;8361:4;8367:2;8371:7;8351:9;:28::i;6029:160::-;-1:-1:-1;;;;;6152:20:15;;6126:7;6152:20;;;:13;:20;;;;;:30;;6176:5;6152:30;:23;:30;:::i;:::-;6145:37;;6029:160;;;;;:::o;4720:99:3:-;672:5:9;;-1:-1:-1;;;;;672:5:9;658:10;:19;650:28;;;;;;4790:22:3::1;4800:2;4804:7;4790:9;:22::i;8452:149:15:-: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:15:-;6615:7;;6656:22;:12;6672:5;6656:22;:15;:22;:::i;:::-;-1:-1:-1;6634:44:15;6540:169;-1:-1:-1;;;6540:169:15:o;4617:97:3:-;672:5:9;;-1:-1:-1;;;;;672:5:9;658:10;:19;650:28;;;;;;4687:20:3::1;4699:7;4687:11;:20::i;:::-;4617:97:::0;:::o;4280:175:15:-;4352:7;4378:70;4395:7;4378:70;;;;;;;;;;;;;;;;;:12;;:70;;:16;:70;:::i;5855:95::-;5935:8;5928:15;;;;;;;;-1:-1:-1;;5928:15:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5903:13;;5928:15;;5935:8;;5928:15;;5935:8;5928:15;;;;;;;;;;;;;;;;;;;;;;;;4005:218;4077:7;-1:-1:-1;;;;;4104:19:15;;4096:74;;;;-1:-1:-1;;;4096:74:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4187:20:15;;;;;;:13;:20;;;;;:29;;:27;:29::i;239:20:9:-;;;-1:-1:-1;;;;;239:20:9;;:::o;4825:126:3:-;672:5:9;;-1:-1:-1;;;;;672:5:9;658:10;:19;650:28;;;;;;4915:29:3::1;4925:2;4929:7;4938:5;4915:9;:29::i;4679:102:15:-:0;4767:7;4760:14;;;;;;;;-1:-1:-1;;4760:14:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4735:13;;4760:14;;4767:7;;4760:14;;4767:7;4760:14;;;;;;;;;;;;;;;;;;;;;;;;7506:290;7620:12;:10;:12::i;:::-;-1:-1:-1;;;;;7608:24:15;:8;-1:-1:-1;;;;;7608:24:15;;;7600:62;;;;;-1:-1:-1;;;7600:62:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;7718:8;7673:18;:32;7692:12;:10;:12::i;:::-;-1:-1:-1;;;;;7673:32:15;;;;;;;;;;;;;;;;;-1:-1:-1;7673:32:15;;;:42;;;;;;;;;;;;:53;;-1:-1:-1;;7673:53:15;;;;;;;;;;;7756:12;:10;:12::i;:::-;7741:48;;;;;;;;;;-1:-1:-1;;;;;7741:48:15;;;;;;;;;;;;;;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:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5058:19;;;;:10;:19;;;;;;;;;5032:45;;;;;;-1:-1:-1;;5032:45:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;: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:15;-1:-1:-1;5229:16:15;;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::15;;;;;;;;;;-1:-1:-1;5415:33:15;;;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:15;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;5415:33:15;;;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:15;;;;;;;;;;-1:-1:-1;5573:42:15;;;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:15;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;5573:42:15;;;5559:57;;;;4847:776;;;:::o;7862:162::-;-1:-1:-1;;;;;7982:25:15;;;7959:4;7982:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;7862:162::o;864:188:9:-;672:5;;-1:-1:-1;;;;;672:5:9;658:10;:19;650:28;;;;;;-1:-1:-1;;;;;944:22:9;::::1;936:31;;;::::0;::::1;;1003:5;::::0;982:37:::1;::::0;-1:-1:-1;;;;;982:37:9;;::::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:9::1;-1:-1:-1::0;;;;;1029:16:9;;;::::1;::::0;;;::::1;::::0;;864:188::o;10383:125:15:-;10448:4;10471:30;:12;10493:7;10471:30;:21;:30;:::i;598:104:21:-;685:10;598:104;:::o;16225:189:15:-;16299:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;16299:29:15;-1:-1:-1;;;;;16299:29:15;;;;;;;;:24;;16352:23;16299:24;16352:14;:23::i;:::-;-1:-1:-1;;;;;16343:46:15;;;;;;;;;;;16225:189;;:::o;14438:212::-;14537:16;14545:7;14537;:16::i;:::-;14529:73;;;;-1:-1:-1;;;14529:73:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14612:19;;;;:10;:19;;;;;;;;:31;;;;;;;;:::i;7820:121:22:-;7889:7;7915:19;7923:3;7915:7;:19::i;10666:351:15:-;10759:4;10783:16;10791:7;10783;:16::i;:::-;10775:73;;;;-1:-1:-1;;;10775:73:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10858:13;10874:23;10889:7;10874:14;:23::i;:::-;10858:39;;10926:5;-1:-1:-1;;;;;10915:16:15;:7;-1:-1:-1;;;;;10915:16:15;;:51;;;;10959:7;-1:-1:-1;;;;;10935:31:15;:20;10947:7;10935:11;:20::i;:::-;-1:-1:-1;;;;;10935:31:15;;10915:51;:94;;;;10970:39;10994:5;11001:7;10970:23;:39::i;:::-;10907:103;10666:351;-1:-1:-1;;;;10666:351:15:o;13707:584::-;13831:4;-1:-1:-1;;;;;13804:31:15;:23;13819:7;13804:14;:23::i;:::-;-1:-1:-1;;;;;13804:31:15;;13796:85;;;;-1:-1:-1;;;13796:85:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13917:16:15;;13909:65;;;;-1:-1:-1;;;13909:65:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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:15;;;;;;:13;:19;;;;;:35;;14153:7;14126:35;:26;:35;:::i;:::-;-1:-1:-1;;;;;;14171:17:15;;;;;;:13;:17;;;;;:30;;14193:7;14171:30;:21;:30;:::i;:::-;-1:-1:-1;14212:29:15;:12;14229:7;14238:2;14212:29;:16;:29;:::i;:::-;;14276:7;14272:2;-1:-1:-1;;;;;14257:27:15;14266:4;-1:-1:-1;;;;;14257:27:15;;;;;;;;;;;13707:584;;;:::o;9250:135:23:-;9321:7;9355:22;9359:3;9371:5;9355:3;:22::i;11348:108:15:-;11423:26;11433:2;11437:7;11423:26;;;;;;;;;;;;:9;:26::i;8269:233:22:-;8349:7;;;;8408:22;8412:3;8424:5;8408:3;:22::i;:::-;8377:53;;;;-1:-1:-1;8269:233:22;-1:-1:-1;;;;;8269:233:22:o;14873:98:15:-;14945:19;;;;:8;;:19;;;;;:::i;9522:211:22:-;9629:7;9679:44;9684:3;9704;9710:12;9679:4;:44::i;:::-;9671:53;-1:-1:-1;9522:211:22;;;;;;:::o;11677:247:15:-;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:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;210:725:25;266:13;483:10;479:51;;-1:-1:-1;509:10:25;;;;;;;;;;;;-1:-1:-1;;;509:10:25;;;;;;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:25;87:34:-1;135:17;;-1:-1;699:17:25;-1:-1:-1;769:5:25;;-1:-1:-1;677:39:25;-1:-1:-1;;;742:10:25;;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:25;;;;;;;;-1:-1:-1;885:2:25;877:10;;;;784:114;;;-1:-1:-1;921:6:25;210:725;-1:-1:-1;;;;210:725:25:o;7588:149:22:-;7672:4;7695:35;7705:3;7725;7695:9;:35::i;4491:108::-;4573:19;;4491:108::o;8365:135:23:-;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:22:-;7116:4;7139:64;7144:3;7164;-1:-1:-1;;;;;7178:23:22;;7139:4;:64::i;4452:201:23:-;4546:18;;4519:7;;4546:26;-1:-1:-1;4538:73:23;;;;-1:-1:-1;;;4538:73:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4628:3;:11;;4640:5;4628:18;;;;;;;;;;;;;;;;4621:25;;4452:201;;;;:::o;4942:274:22:-;5045:19;;5009:7;;;;5045:27;-1:-1:-1;5037:74:22;;;;-1:-1:-1;;;5037:74:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6651:3;:12;;6675:1;6664:8;:12;6651:26;;;;;;;;;;;;;;;;;;:33;;;6644:40;;;6403:315;;;;;:::o;12246:393:15:-;-1:-1:-1;;;;;12325:16:15;;12317:61;;;;;-1:-1:-1;;;12317:61:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12397:16;12405:7;12397;:16::i;:::-;12396:17;12388:58;;;;;-1:-1:-1;;;12388:58:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;12457:45;12486:1;12490:2;12494:7;12457:20;:45::i;:::-;-1:-1:-1;;;;;12513:17:15;;;;;;:13;:17;;;;;:30;;12535:7;12513:30;:21;:30;:::i;:::-;-1:-1:-1;12554:29:15;:12;12571:7;12580:2;12554:29;:16;:29;:::i;:::-;-1:-1:-1;12599:33:15;;12624:7;;-1:-1:-1;;;;;12599:33:15;;;12616:1;;12599:33;;12616:1;;12599:33;12246:393;;:::o;15524:589::-;15644:4;15669:15;:2;-1:-1:-1;;;;;15669:13:15;;:15::i;:::-;15664:58;;-1:-1:-1;15707:4:15;15700:11;;15664:58;15731:23;15757:246;-1:-1:-1;;;15868:12:15;:10;:12::i;:::-;15894:4;15912:7;15933:5;15773:175;;;;;;-1:-1:-1;;;;;15773:175:15;-1:-1:-1;;;;;15773:175:15;;;;;;-1:-1:-1;;;;;15773:175:15;-1:-1:-1;;;;;15773:175:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;15773:175:15;;;;-1:-1:-1;;;;;15773:175:15;;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:15;15757:246;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15757:15:15;;;: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:15;-1:-1:-1;;;;;;16079:26:15;-1:-1:-1;;;16079:26:15;;-1:-1:-1;;;15524:589:15;;;;;;:::o;4278:123:22:-;4349:4;4372:17;;;:12;;;;;:17;;;;;;:22;;;4278:123::o;2212:1512:23:-;2278:4;2415:19;;;:12;;;:19;;;;;;2449:15;;2445:1273;;2878:18;;-1:-1:-1;;2830:14:23;;;;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:23;:23;;;;;;;;;;;;;1941:18;;1919:19;;;:12;;;:19;;;;;;:40;;;;1973:11;;1719:319;-1:-1:-1;2022:5:23;2015:12;;1836:678:22;1912:4;2045:17;;;:12;;;:17;;;;;;2077:13;2073:435;;-1:-1:-1;;2161:38:22;;;;;;;;;;;;;;;;;;27:10:-1;;39:1;23:18;;;45:23;;2143:12:22;: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:20;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:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:20;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:20;;;;;;;;;;;;;;;;;;;;;;;;;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:20;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:20:o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:20;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:20;;;;;;;;;;;;;;;;;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": 9052, - "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": 8070, - "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": 7182, - "src": "173:29:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 498, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7181, - "src": "224:7:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$7181", - "typeString": "contract Ownable" - } - }, - "id": 499, - "nodeType": "InheritanceSpecifier", - "src": "224:7:3" - } - ], - "contractDependencies": [ - 7181 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 894, - "linearizedBaseContracts": [ - 894, - 7181 - ], - "name": "Opener", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 502, - "libraryName": { - "contractScope": null, - "id": 500, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7585, - "src": "244:8:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$7585", - "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_$8069", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 503, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8069, - "src": "271:5:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "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_$8069", - "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_$8069", - "typeString": "contract ERC20" - } - }, - "src": "1354:30:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "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_$8069", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 567, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8069, - "src": "1190:5:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "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": 7473, - "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_$8069", - "typeString": "contract ERC20" - } - }, - "id": 629, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "allowance", - "nodeType": "MemberAccess", - "referencedDeclaration": 7718, - "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": 7419, - "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": 7419, - "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_$8069", - "typeString": "contract ERC20" - } - }, - "id": 736, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 7775, - "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_$8069", - "typeString": "contract ERC20" - } - }, - "id": 758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 7775, - "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_$8069", - "typeString": "contract ERC20" - } - }, - "id": 782, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 7775, - "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": 7154, - "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_$8069", - "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_$8069", - "typeString": "contract ERC20" - } - }, - "src": "3628:30:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "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": 7154, - "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_$8069", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 826, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8069, - "src": "3580:5:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "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": 7154, - "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": 7154, - "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": 7154, - "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": 7154, - "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": 7154, - "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": 9051, - "src": "4273:6:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721_$9051", - "typeString": "contract ERC721" - } - }, - "id": 896, - "nodeType": "InheritanceSpecifier", - "src": "4273:6:3" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 897, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7181, - "src": "4281:7:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$7181", - "typeString": "contract Ownable" - } - }, - "id": 898, - "nodeType": "InheritanceSpecifier", - "src": "4281:7:3" - } - ], - "contractDependencies": [ - 7181, - 7234, - 7244, - 9051, - 9154, - 9181, - 9204, - 9528 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 983, - "linearizedBaseContracts": [ - 983, - 7181, - 9051, - 9181, - 9204, - 9154, - 7234, - 7244, - 9528 - ], - "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": 9051, - "src": "4358:6:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$9051_$", - "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": 8649, - "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": 8950, - "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": 7154, - "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": 8960, - "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": 7154, - "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": [ - 8704, - 8732 - ], - "referencedDeclaration": 8704, - "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": 7154, - "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": [ - 8704, - 8732 - ], - "referencedDeclaration": 8732, - "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": 7154, - "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": 9051, - "src": "5164:6:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721_$9051", - "typeString": "contract ERC721" - } - }, - "id": 987, - "nodeType": "InheritanceSpecifier", - "src": "5164:6:3" - } - ], - "contractDependencies": [ - 894, - 7181, - 7234, - 7244, - 9051, - 9154, - 9181, - 9204, - 9528 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 1122, - "linearizedBaseContracts": [ - 1122, - 9051, - 9181, - 9204, - 9154, - 7234, - 7244, - 9528, - 894, - 7181 - ], - "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": 9051, - "src": "5400:6:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$9051_$", - "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_$8069", - "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_$8069", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 994, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8069, - "src": "5281:5:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "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": 8649, - "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": 8950, - "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": 7154, - "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": 8960, - "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": 7154, - "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": [ - 8704, - 8732 - ], - "referencedDeclaration": 8704, - "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": 9052, - "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": 8070, - "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": 7182, - "src": "173:29:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 498, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7181, - "src": "224:7:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$7181", - "typeString": "contract Ownable" - } - }, - "id": 499, - "nodeType": "InheritanceSpecifier", - "src": "224:7:3" - } - ], - "contractDependencies": [ - 7181 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 894, - "linearizedBaseContracts": [ - 894, - 7181 - ], - "name": "Opener", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 502, - "libraryName": { - "contractScope": null, - "id": 500, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7585, - "src": "244:8:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$7585", - "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_$8069", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 503, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8069, - "src": "271:5:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "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_$8069", - "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_$8069", - "typeString": "contract ERC20" - } - }, - "src": "1354:30:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "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_$8069", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 567, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8069, - "src": "1190:5:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "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": 7473, - "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_$8069", - "typeString": "contract ERC20" - } - }, - "id": 629, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "allowance", - "nodeType": "MemberAccess", - "referencedDeclaration": 7718, - "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": 7419, - "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": 7419, - "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_$8069", - "typeString": "contract ERC20" - } - }, - "id": 736, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 7775, - "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_$8069", - "typeString": "contract ERC20" - } - }, - "id": 758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 7775, - "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_$8069", - "typeString": "contract ERC20" - } - }, - "id": 782, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 7775, - "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": 7154, - "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_$8069", - "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_$8069", - "typeString": "contract ERC20" - } - }, - "src": "3628:30:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "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": 7154, - "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_$8069", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 826, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8069, - "src": "3580:5:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "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": 7154, - "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": 7154, - "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": 7154, - "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": 7154, - "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": 7154, - "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": 9051, - "src": "4273:6:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721_$9051", - "typeString": "contract ERC721" - } - }, - "id": 896, - "nodeType": "InheritanceSpecifier", - "src": "4273:6:3" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 897, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7181, - "src": "4281:7:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$7181", - "typeString": "contract Ownable" - } - }, - "id": 898, - "nodeType": "InheritanceSpecifier", - "src": "4281:7:3" - } - ], - "contractDependencies": [ - 7181, - 7234, - 7244, - 9051, - 9154, - 9181, - 9204, - 9528 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 983, - "linearizedBaseContracts": [ - 983, - 7181, - 9051, - 9181, - 9204, - 9154, - 7234, - 7244, - 9528 - ], - "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": 9051, - "src": "4358:6:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$9051_$", - "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": 8649, - "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": 8950, - "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": 7154, - "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": 8960, - "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": 7154, - "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": [ - 8704, - 8732 - ], - "referencedDeclaration": 8704, - "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": 7154, - "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": [ - 8704, - 8732 - ], - "referencedDeclaration": 8732, - "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": 7154, - "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": 9051, - "src": "5164:6:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721_$9051", - "typeString": "contract ERC721" - } - }, - "id": 987, - "nodeType": "InheritanceSpecifier", - "src": "5164:6:3" - } - ], - "contractDependencies": [ - 894, - 7181, - 7234, - 7244, - 9051, - 9154, - 9181, - 9204, - 9528 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 1122, - "linearizedBaseContracts": [ - 1122, - 9051, - 9181, - 9204, - 9154, - 7234, - 7244, - 9528, - 894, - 7181 - ], - "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": 9051, - "src": "5400:6:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$9051_$", - "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_$8069", - "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_$8069", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 994, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8069, - "src": "5281:5:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "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": 8649, - "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": 8950, - "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": 7154, - "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": 8960, - "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": 7154, - "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": [ - 8704, - 8732 - ], - "referencedDeclaration": 8704, - "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-05-11T16:04:02.417Z", - "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 566b0f40..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:22:-: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:22:-: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": [ - 10071 - ] - }, - "id": 10072, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 9530, - "literals": [ - "solidity", - ">=", - "0.6", - ".0", - "<", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:31:22" - }, - { - "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": 10071, - "linearizedBaseContracts": [ - 10071 - ], - "name": "EnumerableMap", - "nodeType": "ContractDefinition", - "nodes": [ - { - "canonicalName": "EnumerableMap.MapEntry", - "id": 9535, - "members": [ - { - "constant": false, - "id": 9532, - "name": "_key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9535, - "src": "1284:12:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9531, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1284:7:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9534, - "name": "_value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9535, - "src": "1306:14:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9533, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1306:7:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "MapEntry", - "nodeType": "StructDefinition", - "scope": 10071, - "src": "1258:69:22", - "visibility": "public" - }, - { - "canonicalName": "EnumerableMap.Map", - "id": 9543, - "members": [ - { - "constant": false, - "id": 9538, - "name": "_entries", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9543, - "src": "1396:19:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MapEntry_$9535_storage_$dyn_storage_ptr", - "typeString": "struct EnumerableMap.MapEntry[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 9536, - "name": "MapEntry", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9535, - "src": "1396:8:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9535_storage_ptr", - "typeString": "struct EnumerableMap.MapEntry" - } - }, - "id": 9537, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1396:10:22", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MapEntry_$9535_storage_$dyn_storage_ptr", - "typeString": "struct EnumerableMap.MapEntry[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9542, - "name": "_indexes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9543, - "src": "1565:37:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - }, - "typeName": { - "id": 9541, - "keyType": { - "id": 9539, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1574:7:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Mapping", - "src": "1565:28:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - }, - "valueType": { - "id": 9540, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1585:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Map", - "nodeType": "StructDefinition", - "scope": 10071, - "src": "1333:276:22", - "visibility": "public" - }, - { - "body": { - "id": 9603, - "nodeType": "Block", - "src": "1918:596:22", - "statements": [ - { - "assignments": [ - 9555 - ], - "declarations": [ - { - "constant": false, - "id": 9555, - "name": "keyIndex", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9603, - "src": "2026:16:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9554, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2026:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9560, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9556, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9545, - "src": "2045:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9557, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_indexes", - "nodeType": "MemberAccess", - "referencedDeclaration": 9542, - "src": "2045:12:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 9559, - "indexExpression": { - "argumentTypes": null, - "id": 9558, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9547, - "src": "2058:3:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2045:17:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2026:36:22" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9561, - "name": "keyIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9555, - "src": "2077:8:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 9562, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2089:1:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2077:13:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 9601, - "nodeType": "Block", - "src": "2416:92:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 9597, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9588, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9545, - "src": "2430:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9593, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_entries", - "nodeType": "MemberAccess", - "referencedDeclaration": 9538, - "src": "2430:12:22", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MapEntry_$9535_storage_$dyn_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" - } - }, - "id": 9594, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9592, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9590, - "name": "keyIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9555, - "src": "2443:8:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 9591, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2454:1:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "2443:12:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2430:26:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9535_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref" - } - }, - "id": 9595, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "_value", - "nodeType": "MemberAccess", - "referencedDeclaration": 9534, - "src": "2430:33:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 9596, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9549, - "src": "2466:5:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "2430:41:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 9598, - "nodeType": "ExpressionStatement", - "src": "2430:41:22" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 9599, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2492:5:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 9553, - "id": 9600, - "nodeType": "Return", - "src": "2485:12:22" - } - ] - }, - "id": 9602, - "nodeType": "IfStatement", - "src": "2073:435:22", - "trueBody": { - "id": 9587, - "nodeType": "Block", - "src": "2092:318:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9570, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9547, - "src": "2178:3:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 9571, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9549, - "src": "2191:5:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 9569, - "name": "MapEntry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9535, - "src": "2161:8:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_MapEntry_$9535_storage_ptr_$", - "typeString": "type(struct EnumerableMap.MapEntry storage pointer)" - } - }, - "id": 9572, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [ - "_key", - "_value" - ], - "nodeType": "FunctionCall", - "src": "2161:38:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9535_memory", - "typeString": "struct EnumerableMap.MapEntry memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_MapEntry_$9535_memory", - "typeString": "struct EnumerableMap.MapEntry memory" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9564, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9545, - "src": "2143:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9567, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_entries", - "nodeType": "MemberAccess", - "referencedDeclaration": 9538, - "src": "2143:12:22", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MapEntry_$9535_storage_$dyn_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" - } - }, - "id": 9568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2143:17:22", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_MapEntry_$9535_storage_$returns$__$", - "typeString": "function (struct EnumerableMap.MapEntry storage ref)" - } - }, - "id": 9573, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2143:57:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9574, - "nodeType": "ExpressionStatement", - "src": "2143:57:22" - }, - { - "expression": { - "argumentTypes": null, - "id": 9583, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9575, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9545, - "src": "2335:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9578, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_indexes", - "nodeType": "MemberAccess", - "referencedDeclaration": 9542, - "src": "2335:12:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 9579, - "indexExpression": { - "argumentTypes": null, - "id": 9577, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9547, - "src": "2348:3:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2335:17:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9580, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9545, - "src": "2355:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9581, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_entries", - "nodeType": "MemberAccess", - "referencedDeclaration": 9538, - "src": "2355:12:22", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MapEntry_$9535_storage_$dyn_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" - } - }, - "id": 9582, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2355:19:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2335:39:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9584, - "nodeType": "ExpressionStatement", - "src": "2335:39:22" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 9585, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2395:4:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 9553, - "id": 9586, - "nodeType": "Return", - "src": "2388:11:22" - } - ] - } - } - ] - }, - "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": 9604, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_set", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9550, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9545, - "name": "map", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9604, - "src": "1850:15:22", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map" - }, - "typeName": { - "contractScope": null, - "id": 9544, - "name": "Map", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9543, - "src": "1850:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9547, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9604, - "src": "1867:11:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9546, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1867:7:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9549, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9604, - "src": "1880:13:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9548, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1880:7:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1849:45:22" - }, - "returnParameters": { - "id": 9553, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9552, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9604, - "src": "1912:4:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9551, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1912:4:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1911:6:22" - }, - "scope": 10071, - "src": "1836:678:22", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 9683, - "nodeType": "Block", - "src": "2752:1447:22", - "statements": [ - { - "assignments": [ - 9614 - ], - "declarations": [ - { - "constant": false, - "id": 9614, - "name": "keyIndex", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9683, - "src": "2860:16:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9613, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2860:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9619, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9615, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9606, - "src": "2879:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9616, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_indexes", - "nodeType": "MemberAccess", - "referencedDeclaration": 9542, - "src": "2879:12:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 9618, - "indexExpression": { - "argumentTypes": null, - "id": 9617, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9608, - "src": "2892:3:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2879:17:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2860:36:22" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9622, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9620, - "name": "keyIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9614, - "src": "2911:8:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 9621, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2923:1:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2911:13:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 9681, - "nodeType": "Block", - "src": "4156:37:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 9679, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4177:5:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 9612, - "id": 9680, - "nodeType": "Return", - "src": "4170:12:22" - } - ] - }, - "id": 9682, - "nodeType": "IfStatement", - "src": "2907:1286:22", - "trueBody": { - "id": 9678, - "nodeType": "Block", - "src": "2926:1224:22", - "statements": [ - { - "assignments": [ - 9624 - ], - "declarations": [ - { - "constant": false, - "id": 9624, - "name": "toDeleteIndex", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9678, - "src": "3267:21:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9623, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3267:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9628, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9625, - "name": "keyIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9614, - "src": "3291:8:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 9626, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3302:1:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3291:12:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3267:36:22" - }, - { - "assignments": [ - 9630 - ], - "declarations": [ - { - "constant": false, - "id": 9630, - "name": "lastIndex", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9678, - "src": "3317:17:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9629, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3317:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9636, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9631, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9606, - "src": "3337:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9632, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_entries", - "nodeType": "MemberAccess", - "referencedDeclaration": 9538, - "src": "3337:12:22", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MapEntry_$9535_storage_$dyn_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" - } - }, - "id": 9633, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3337:19:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 9634, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3359:1:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3337:23:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3317:43:22" - }, - { - "assignments": [ - 9638 - ], - "declarations": [ - { - "constant": false, - "id": 9638, - "name": "lastEntry", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9678, - "src": "3600:26:22", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9535_storage_ptr", - "typeString": "struct EnumerableMap.MapEntry" - }, - "typeName": { - "contractScope": null, - "id": 9637, - "name": "MapEntry", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9535, - "src": "3600:8:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9535_storage_ptr", - "typeString": "struct EnumerableMap.MapEntry" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9643, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9639, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9606, - "src": "3629:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9640, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_entries", - "nodeType": "MemberAccess", - "referencedDeclaration": 9538, - "src": "3629:12:22", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MapEntry_$9535_storage_$dyn_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" - } - }, - "id": 9642, - "indexExpression": { - "argumentTypes": null, - "id": 9641, - "name": "lastIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9630, - "src": "3642:9:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3629:23:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9535_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3600:52:22" - }, - { - "expression": { - "argumentTypes": null, - "id": 9650, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9644, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9606, - "src": "3744:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9647, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_entries", - "nodeType": "MemberAccess", - "referencedDeclaration": 9538, - "src": "3744:12:22", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MapEntry_$9535_storage_$dyn_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" - } - }, - "id": 9648, - "indexExpression": { - "argumentTypes": null, - "id": 9646, - "name": "toDeleteIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9624, - "src": "3757:13:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3744:27:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9535_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 9649, - "name": "lastEntry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9638, - "src": "3774:9:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9535_storage_ptr", - "typeString": "struct EnumerableMap.MapEntry storage pointer" - } - }, - "src": "3744:39:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9535_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref" - } - }, - "id": 9651, - "nodeType": "ExpressionStatement", - "src": "3744:39:22" - }, - { - "expression": { - "argumentTypes": null, - "id": 9661, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9652, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9606, - "src": "3849:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9656, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_indexes", - "nodeType": "MemberAccess", - "referencedDeclaration": 9542, - "src": "3849:12:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 9657, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9654, - "name": "lastEntry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9638, - "src": "3862:9:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9535_storage_ptr", - "typeString": "struct EnumerableMap.MapEntry storage pointer" - } - }, - "id": 9655, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_key", - "nodeType": "MemberAccess", - "referencedDeclaration": 9532, - "src": "3862:14:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3849:28:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9660, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9658, - "name": "toDeleteIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9624, - "src": "3880:13:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 9659, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3896:1:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3880:17:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3849:48:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9662, - "nodeType": "ExpressionStatement", - "src": "3849:48:22" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9663, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9606, - "src": "4003:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9666, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_entries", - "nodeType": "MemberAccess", - "referencedDeclaration": 9538, - "src": "4003:12:22", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MapEntry_$9535_storage_$dyn_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" - } - }, - "id": 9667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "pop", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4003:16:22", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypop_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 9668, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4003:18:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9669, - "nodeType": "ExpressionStatement", - "src": "4003:18:22" - }, - { - "expression": { - "argumentTypes": null, - "id": 9674, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "4089:24:22", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9670, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9606, - "src": "4096:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9671, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_indexes", - "nodeType": "MemberAccess", - "referencedDeclaration": 9542, - "src": "4096:12:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 9673, - "indexExpression": { - "argumentTypes": null, - "id": 9672, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9608, - "src": "4109:3:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4096:17:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9675, - "nodeType": "ExpressionStatement", - "src": "4089:24:22" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 9676, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4135:4:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 9612, - "id": 9677, - "nodeType": "Return", - "src": "4128:11:22" - } - ] - } - } - ] - }, - "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": 9684, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_remove", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9609, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9606, - "name": "map", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9684, - "src": "2699:15:22", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map" - }, - "typeName": { - "contractScope": null, - "id": 9605, - "name": "Map", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9543, - "src": "2699:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9608, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9684, - "src": "2716:11:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9607, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2716:7:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2698:30:22" - }, - "returnParameters": { - "id": 9612, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9611, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9684, - "src": "2746:4:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9610, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2746:4:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2745:6:22" - }, - "scope": 10071, - "src": "2682:1517:22", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 9700, - "nodeType": "Block", - "src": "4355:46:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9698, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9693, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9686, - "src": "4372:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9694, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_indexes", - "nodeType": "MemberAccess", - "referencedDeclaration": 9542, - "src": "4372:12:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 9696, - "indexExpression": { - "argumentTypes": null, - "id": 9695, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9688, - "src": "4385:3:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4372:17:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 9697, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4393:1:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4372:22:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 9692, - "id": 9699, - "nodeType": "Return", - "src": "4365:29:22" - } - ] - }, - "documentation": "@dev Returns true if the key is in the map. O(1).", - "id": 9701, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_contains", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9689, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9686, - "name": "map", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9701, - "src": "4297:15:22", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map" - }, - "typeName": { - "contractScope": null, - "id": 9685, - "name": "Map", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9543, - "src": "4297:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9688, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9701, - "src": "4314:11:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9687, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4314:7:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4296:30:22" - }, - "returnParameters": { - "id": 9692, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9691, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9701, - "src": "4349:4:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9690, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4349:4:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4348:6:22" - }, - "scope": 10071, - "src": "4278:123:22", - "stateMutability": "view", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 9712, - "nodeType": "Block", - "src": "4556:43:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9708, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9703, - "src": "4573:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9709, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_entries", - "nodeType": "MemberAccess", - "referencedDeclaration": 9538, - "src": "4573:12:22", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MapEntry_$9535_storage_$dyn_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" - } - }, - "id": 9710, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4573:19:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 9707, - "id": 9711, - "nodeType": "Return", - "src": "4566:26:22" - } - ] - }, - "documentation": "@dev Returns the number of key-value pairs in the map. O(1).", - "id": 9713, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_length", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9704, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9703, - "name": "map", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9713, - "src": "4508:15:22", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map" - }, - "typeName": { - "contractScope": null, - "id": 9702, - "name": "Map", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9543, - "src": "4508:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4507:17:22" - }, - "returnParameters": { - "id": 9707, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9706, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9713, - "src": "4547:7:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9705, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4547:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4546:9:22" - }, - "scope": 10071, - "src": "4491:108:22", - "stateMutability": "view", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 9746, - "nodeType": "Block", - "src": "5027:189:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9729, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9725, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9715, - "src": "5045:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9726, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_entries", - "nodeType": "MemberAccess", - "referencedDeclaration": 9538, - "src": "5045:12:22", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MapEntry_$9535_storage_$dyn_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" - } - }, - "id": 9727, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5045:19:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 9728, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9717, - "src": "5067:5:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5045:27:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "456e756d657261626c654d61703a20696e646578206f7574206f6620626f756e6473", - "id": 9730, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5074:36:22", - "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": 9724, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5037:7:22", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9731, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5037:74:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9732, - "nodeType": "ExpressionStatement", - "src": "5037:74:22" - }, - { - "assignments": [ - 9734 - ], - "declarations": [ - { - "constant": false, - "id": 9734, - "name": "entry", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9746, - "src": "5122:22:22", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9535_storage_ptr", - "typeString": "struct EnumerableMap.MapEntry" - }, - "typeName": { - "contractScope": null, - "id": 9733, - "name": "MapEntry", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9535, - "src": "5122:8:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9535_storage_ptr", - "typeString": "struct EnumerableMap.MapEntry" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9739, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9735, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9715, - "src": "5147:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9736, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_entries", - "nodeType": "MemberAccess", - "referencedDeclaration": 9538, - "src": "5147:12:22", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MapEntry_$9535_storage_$dyn_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" - } - }, - "id": 9738, - "indexExpression": { - "argumentTypes": null, - "id": 9737, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9717, - "src": "5160:5:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5147:19:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9535_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5122:44:22" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9740, - "name": "entry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9734, - "src": "5184:5:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9535_storage_ptr", - "typeString": "struct EnumerableMap.MapEntry storage pointer" - } - }, - "id": 9741, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_key", - "nodeType": "MemberAccess", - "referencedDeclaration": 9532, - "src": "5184:10:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9742, - "name": "entry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9734, - "src": "5196:5:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9535_storage_ptr", - "typeString": "struct EnumerableMap.MapEntry storage pointer" - } - }, - "id": 9743, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_value", - "nodeType": "MemberAccess", - "referencedDeclaration": 9534, - "src": "5196:12:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 9744, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5183:26:22", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bytes32_$_t_bytes32_$", - "typeString": "tuple(bytes32,bytes32)" - } - }, - "functionReturnParameters": 9723, - "id": 9745, - "nodeType": "Return", - "src": "5176:33:22" - } - ] - }, - "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": 9747, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_at", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9718, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9715, - "name": "map", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9747, - "src": "4955:15:22", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map" - }, - "typeName": { - "contractScope": null, - "id": 9714, - "name": "Map", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9543, - "src": "4955:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9717, - "name": "index", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9747, - "src": "4972:13:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9716, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4972:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4954:32:22" - }, - "returnParameters": { - "id": 9723, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9720, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9747, - "src": "5009:7:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9719, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5009:7:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9722, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9747, - "src": "5018:7:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9721, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5018:7:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5008:18:22" - }, - "scope": 10071, - "src": "4942:274:22", - "stateMutability": "view", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 9783, - "nodeType": "Block", - "src": "5442:220:22", - "statements": [ - { - "assignments": [ - 9759 - ], - "declarations": [ - { - "constant": false, - "id": 9759, - "name": "keyIndex", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9783, - "src": "5452:16:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9758, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5452:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9764, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9760, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9749, - "src": "5471:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9761, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_indexes", - "nodeType": "MemberAccess", - "referencedDeclaration": 9542, - "src": "5471:12:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 9763, - "indexExpression": { - "argumentTypes": null, - "id": 9762, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9751, - "src": "5484:3:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5471:17:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5452:36:22" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9767, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9765, - "name": "keyIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9759, - "src": "5502:8:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 9766, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5514:1:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5502:13:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 9772, - "nodeType": "IfStatement", - "src": "5498:36:22", - "trueBody": { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 9768, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5525:5:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 9769, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5532:1:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "id": 9770, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5524:10:22", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", - "typeString": "tuple(bool,int_const 0)" - } - }, - "functionReturnParameters": 9757, - "id": 9771, - "nodeType": "Return", - "src": "5517:17:22" - } - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 9773, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5588:4:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9774, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9749, - "src": "5594:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9775, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_entries", - "nodeType": "MemberAccess", - "referencedDeclaration": 9538, - "src": "5594:12:22", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MapEntry_$9535_storage_$dyn_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" - } - }, - "id": 9779, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9778, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9776, - "name": "keyIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9759, - "src": "5607:8:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 9777, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5618:1:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "5607:12:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5594:26:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9535_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref" - } - }, - "id": 9780, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_value", - "nodeType": "MemberAccess", - "referencedDeclaration": 9534, - "src": "5594:33:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 9781, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5587:41:22", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes32_$", - "typeString": "tuple(bool,bytes32)" - } - }, - "functionReturnParameters": 9757, - "id": 9782, - "nodeType": "Return", - "src": "5580:48:22" - } - ] - }, - "documentation": "@dev Tries to returns the value associated with `key`. O(1).\nDoes not revert if `key` is not in the map.", - "id": 9784, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_tryGet", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9752, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9749, - "name": "map", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9784, - "src": "5375:15:22", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map" - }, - "typeName": { - "contractScope": null, - "id": 9748, - "name": "Map", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9543, - "src": "5375:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9751, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9784, - "src": "5392:11:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9750, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5392:7:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5374:30:22" - }, - "returnParameters": { - "id": 9757, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9754, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9784, - "src": "5427:4:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9753, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5427:4:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9756, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9784, - "src": "5433:7:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9755, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5433:7:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5426:15:22" - }, - "scope": 10071, - "src": "5358:304:22", - "stateMutability": "view", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 9815, - "nodeType": "Block", - "src": "5889:232:22", - "statements": [ - { - "assignments": [ - 9794 - ], - "declarations": [ - { - "constant": false, - "id": 9794, - "name": "keyIndex", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9815, - "src": "5899:16:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9793, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5899:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9799, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9795, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9786, - "src": "5918:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9796, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_indexes", - "nodeType": "MemberAccess", - "referencedDeclaration": 9542, - "src": "5918:12:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 9798, - "indexExpression": { - "argumentTypes": null, - "id": 9797, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9788, - "src": "5931:3:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5918:17:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5899:36:22" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9803, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9801, - "name": "keyIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9794, - "src": "5953:8:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 9802, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5965:1:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5953:13:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "456e756d657261626c654d61703a206e6f6e6578697374656e74206b6579", - "id": 9804, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5968:32:22", - "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": 9800, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5945:7:22", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9805, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5945:56:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9806, - "nodeType": "ExpressionStatement", - "src": "5945:56:22" - }, - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9807, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9786, - "src": "6054:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9808, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_entries", - "nodeType": "MemberAccess", - "referencedDeclaration": 9538, - "src": "6054:12:22", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MapEntry_$9535_storage_$dyn_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" - } - }, - "id": 9812, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9811, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9809, - "name": "keyIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9794, - "src": "6067:8:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 9810, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6078:1:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "6067:12:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6054:26:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9535_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref" - } - }, - "id": 9813, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_value", - "nodeType": "MemberAccess", - "referencedDeclaration": 9534, - "src": "6054:33:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 9792, - "id": 9814, - "nodeType": "Return", - "src": "6047:40:22" - } - ] - }, - "documentation": "@dev Returns the value associated with `key`. O(1).\n * Requirements:\n * - `key` must be in the map.", - "id": 9816, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_get", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9789, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9786, - "name": "map", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9816, - "src": "5828:15:22", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map" - }, - "typeName": { - "contractScope": null, - "id": 9785, - "name": "Map", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9543, - "src": "5828:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9788, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9816, - "src": "5845:11:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9787, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5845:7:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5827:30:22" - }, - "returnParameters": { - "id": 9792, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9791, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9816, - "src": "5880:7:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9790, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5880:7:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5879:9:22" - }, - "scope": 10071, - "src": "5814:307:22", - "stateMutability": "view", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 9849, - "nodeType": "Block", - "src": "6506:212:22", - "statements": [ - { - "assignments": [ - 9828 - ], - "declarations": [ - { - "constant": false, - "id": 9828, - "name": "keyIndex", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9849, - "src": "6516:16:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9827, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6516:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9833, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9829, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9818, - "src": "6535:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9830, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_indexes", - "nodeType": "MemberAccess", - "referencedDeclaration": 9542, - "src": "6535:12:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 9832, - "indexExpression": { - "argumentTypes": null, - "id": 9831, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9820, - "src": "6548:3:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6535:17:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6516:36:22" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9837, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9835, - "name": "keyIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9828, - "src": "6570:8:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 9836, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6582:1:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6570:13:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 9838, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9822, - "src": "6585:12:22", - "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": 9834, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6562:7:22", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9839, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6562:36:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9840, - "nodeType": "ExpressionStatement", - "src": "6562:36:22" - }, - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9841, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9818, - "src": "6651:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9842, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_entries", - "nodeType": "MemberAccess", - "referencedDeclaration": 9538, - "src": "6651:12:22", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MapEntry_$9535_storage_$dyn_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" - } - }, - "id": 9846, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9843, - "name": "keyIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9828, - "src": "6664:8:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 9844, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6675:1:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "6664:12:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6651:26:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9535_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref" - } - }, - "id": 9847, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_value", - "nodeType": "MemberAccess", - "referencedDeclaration": 9534, - "src": "6651:33:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 9826, - "id": 9848, - "nodeType": "Return", - "src": "6644:40:22" - } - ] - }, - "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": 9850, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_get", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9823, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9818, - "name": "map", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9850, - "src": "6417:15:22", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map" - }, - "typeName": { - "contractScope": null, - "id": 9817, - "name": "Map", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9543, - "src": "6417:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9820, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9850, - "src": "6434:11:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9819, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6434:7:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9822, - "name": "errorMessage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9850, - "src": "6447:26:22", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 9821, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "6447:6:22", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6416:58:22" - }, - "returnParameters": { - "id": 9826, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9825, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9850, - "src": "6497:7:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9824, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6497:7:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6496:9:22" - }, - "scope": 10071, - "src": "6403:315:22", - "stateMutability": "view", - "virtual": false, - "visibility": "private" - }, - { - "canonicalName": "EnumerableMap.UintToAddressMap", - "id": 9853, - "members": [ - { - "constant": false, - "id": 9852, - "name": "_inner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9853, - "src": "6783:10:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map" - }, - "typeName": { - "contractScope": null, - "id": 9851, - "name": "Map", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9543, - "src": "6783:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "UintToAddressMap", - "nodeType": "StructDefinition", - "scope": 10071, - "src": "6749:51:22", - "visibility": "public" - }, - { - "body": { - "id": 9883, - "nodeType": "Block", - "src": "7122:88:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9865, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9855, - "src": "7144:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap storage pointer" - } - }, - "id": 9866, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 9852, - "src": "7144:10:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage", - "typeString": "struct EnumerableMap.Map storage ref" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9869, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9857, - "src": "7164:3:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9868, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7156:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 9867, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7156:7:22", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 9870, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7156:12:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9877, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9859, - "src": "7194:5:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 9876, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7186:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 9875, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "7186:7:22", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 9878, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7186:14:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 9874, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7178:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 9873, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7178:7:22", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 9879, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7178:23:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9872, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7170:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 9871, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7170:7:22", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 9880, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7170:32:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Map_$9543_storage", - "typeString": "struct EnumerableMap.Map storage ref" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 9864, - "name": "_set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9604, - "src": "7139:4:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Map_$9543_storage_ptr_$_t_bytes32_$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (struct EnumerableMap.Map storage pointer,bytes32,bytes32) returns (bool)" - } - }, - "id": 9881, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7139:64:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 9863, - "id": 9882, - "nodeType": "Return", - "src": "7132:71:22" - } - ] - }, - "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": 9884, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "set", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9860, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9855, - "name": "map", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9884, - "src": "7040:28:22", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - }, - "typeName": { - "contractScope": null, - "id": 9854, - "name": "UintToAddressMap", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9853, - "src": "7040:16:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9857, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9884, - "src": "7070:11:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9856, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7070:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9859, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9884, - "src": "7083:13:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9858, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7083:7:22", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7039:58:22" - }, - "returnParameters": { - "id": 9863, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9862, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9884, - "src": "7116:4:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9861, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7116:4:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7115:6:22" - }, - "scope": 10071, - "src": "7027:183:22", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9902, - "nodeType": "Block", - "src": "7452:57:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9894, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9886, - "src": "7477:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap storage pointer" - } - }, - "id": 9895, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 9852, - "src": "7477:10:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage", - "typeString": "struct EnumerableMap.Map storage ref" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9898, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9888, - "src": "7497:3:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9897, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7489:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 9896, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7489:7:22", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 9899, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7489:12:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Map_$9543_storage", - "typeString": "struct EnumerableMap.Map storage ref" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 9893, - "name": "_remove", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9684, - "src": "7469:7:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Map_$9543_storage_ptr_$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (struct EnumerableMap.Map storage pointer,bytes32) returns (bool)" - } - }, - "id": 9900, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7469:33:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 9892, - "id": 9901, - "nodeType": "Return", - "src": "7462:40:22" - } - ] - }, - "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": 9903, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "remove", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9889, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9886, - "name": "map", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9903, - "src": "7385:28:22", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - }, - "typeName": { - "contractScope": null, - "id": 9885, - "name": "UintToAddressMap", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9853, - "src": "7385:16:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9888, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9903, - "src": "7415:11:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9887, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7415:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7384:43:22" - }, - "returnParameters": { - "id": 9892, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9891, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9903, - "src": "7446:4:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9890, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7446:4:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7445:6:22" - }, - "scope": 10071, - "src": "7369:140:22", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9921, - "nodeType": "Block", - "src": "7678:59:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9913, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9905, - "src": "7705:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap storage pointer" - } - }, - "id": 9914, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 9852, - "src": "7705:10:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage", - "typeString": "struct EnumerableMap.Map storage ref" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9917, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9907, - "src": "7725:3:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9916, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7717:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 9915, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7717:7:22", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 9918, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7717:12:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Map_$9543_storage", - "typeString": "struct EnumerableMap.Map storage ref" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 9912, - "name": "_contains", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9701, - "src": "7695:9:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Map_$9543_storage_ptr_$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (struct EnumerableMap.Map storage pointer,bytes32) view returns (bool)" - } - }, - "id": 9919, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7695:35:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 9911, - "id": 9920, - "nodeType": "Return", - "src": "7688:42:22" - } - ] - }, - "documentation": "@dev Returns true if the key is in the map. O(1).", - "id": 9922, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "contains", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9908, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9905, - "name": "map", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9922, - "src": "7606:28:22", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - }, - "typeName": { - "contractScope": null, - "id": 9904, - "name": "UintToAddressMap", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9853, - "src": "7606:16:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9907, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9922, - "src": "7636:11:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9906, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7636:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7605:43:22" - }, - "returnParameters": { - "id": 9911, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9910, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9922, - "src": "7672:4:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9909, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7672:4:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7671:6:22" - }, - "scope": 10071, - "src": "7588:149:22", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9934, - "nodeType": "Block", - "src": "7898:43:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9930, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9924, - "src": "7923:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap storage pointer" - } - }, - "id": 9931, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 9852, - "src": "7923:10:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage", - "typeString": "struct EnumerableMap.Map storage ref" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Map_$9543_storage", - "typeString": "struct EnumerableMap.Map storage ref" - } - ], - "id": 9929, - "name": "_length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9713, - "src": "7915:7:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Map_$9543_storage_ptr_$returns$_t_uint256_$", - "typeString": "function (struct EnumerableMap.Map storage pointer) view returns (uint256)" - } - }, - "id": 9932, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7915:19:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 9928, - "id": 9933, - "nodeType": "Return", - "src": "7908:26:22" - } - ] - }, - "documentation": "@dev Returns the number of elements in the map. O(1).", - "id": 9935, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "length", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9925, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9924, - "name": "map", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9935, - "src": "7836:28:22", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - }, - "typeName": { - "contractScope": null, - "id": 9923, - "name": "UintToAddressMap", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9853, - "src": "7836:16:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7835:30:22" - }, - "returnParameters": { - "id": 9928, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9927, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9935, - "src": "7889:7:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9926, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7889:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7888:9:22" - }, - "scope": 10071, - "src": "7820:121:22", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9972, - "nodeType": "Block", - "src": "8367:135:22", - "statements": [ - { - "assignments": [ - 9947, - 9949 - ], - "declarations": [ - { - "constant": false, - "id": 9947, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9972, - "src": "8378:11:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9946, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "8378:7:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9949, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9972, - "src": "8391:13:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9948, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "8391:7:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9955, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9951, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9937, - "src": "8412:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap storage pointer" - } - }, - "id": 9952, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 9852, - "src": "8412:10:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage", - "typeString": "struct EnumerableMap.Map storage ref" - } - }, - { - "argumentTypes": null, - "id": 9953, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9939, - "src": "8424:5:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Map_$9543_storage", - "typeString": "struct EnumerableMap.Map storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9950, - "name": "_at", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9747, - "src": "8408:3:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Map_$9543_storage_ptr_$_t_uint256_$returns$_t_bytes32_$_t_bytes32_$", - "typeString": "function (struct EnumerableMap.Map storage pointer,uint256) view returns (bytes32,bytes32)" - } - }, - "id": 9954, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8408:22:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bytes32_$_t_bytes32_$", - "typeString": "tuple(bytes32,bytes32)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8377:53:22" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9958, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9947, - "src": "8456:3:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 9957, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8448:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 9956, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8448:7:22", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 9959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8448:12:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9966, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9949, - "src": "8486:5:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 9965, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8478:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 9964, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8478:7:22", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 9967, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8478:14:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9963, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8470:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 9962, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "8470:7:22", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 9968, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8470:23:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 9961, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8462:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 9960, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8462:7:22", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 9969, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8462:32:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "id": 9970, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8447:48:22", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_address_payable_$", - "typeString": "tuple(uint256,address payable)" - } - }, - "functionReturnParameters": 9945, - "id": 9971, - "nodeType": "Return", - "src": "8440:55:22" - } - ] - }, - "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": 9973, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "at", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9940, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9937, - "name": "map", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9973, - "src": "8281:28:22", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - }, - "typeName": { - "contractScope": null, - "id": 9936, - "name": "UintToAddressMap", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9853, - "src": "8281:16:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9939, - "name": "index", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9973, - "src": "8311:13:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9938, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8311:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8280:45:22" - }, - "returnParameters": { - "id": 9945, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9942, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9973, - "src": "8349:7:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9941, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8349:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9944, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9973, - "src": "8358:7:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9943, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8358:7:22", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8348:18:22" - }, - "scope": 10071, - "src": "8269:233:22", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10010, - "nodeType": "Block", - "src": "8779:142:22", - "statements": [ - { - "assignments": [ - 9985, - 9987 - ], - "declarations": [ - { - "constant": false, - "id": 9985, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10010, - "src": "8790:12:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9984, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8790:4:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9987, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10010, - "src": "8804:13:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9986, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "8804:7:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9996, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9989, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9975, - "src": "8829:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap storage pointer" - } - }, - "id": 9990, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 9852, - "src": "8829:10:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage", - "typeString": "struct EnumerableMap.Map storage ref" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9993, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9977, - "src": "8849:3:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9992, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8841:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 9991, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "8841:7:22", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 9994, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8841:12:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Map_$9543_storage", - "typeString": "struct EnumerableMap.Map storage ref" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 9988, - "name": "_tryGet", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9784, - "src": "8821:7:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Map_$9543_storage_ptr_$_t_bytes32_$returns$_t_bool_$_t_bytes32_$", - "typeString": "function (struct EnumerableMap.Map storage pointer,bytes32) view returns (bool,bytes32)" - } - }, - "id": 9995, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8821:33:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes32_$", - "typeString": "tuple(bool,bytes32)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8789:65:22" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 9997, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9985, - "src": "8872:7:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10004, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9987, - "src": "8905:5:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10003, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8897:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 10002, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8897:7:22", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10005, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8897:14:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10001, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8889:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 10000, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "8889:7:22", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10006, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8889:23:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 9999, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8881:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 9998, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8881:7:22", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10007, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8881:32:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "id": 10008, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8871:43:22", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_address_payable_$", - "typeString": "tuple(bool,address payable)" - } - }, - "functionReturnParameters": 9983, - "id": 10009, - "nodeType": "Return", - "src": "8864:50:22" - } - ] - }, - "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": 10011, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tryGet", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9978, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9975, - "name": "map", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10011, - "src": "8698:28:22", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - }, - "typeName": { - "contractScope": null, - "id": 9974, - "name": "UintToAddressMap", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9853, - "src": "8698:16:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9977, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10011, - "src": "8728:11:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9976, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8728:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8697:43:22" - }, - "returnParameters": { - "id": 9983, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9980, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10011, - "src": "8764:4:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9979, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8764:4:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9982, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10011, - "src": "8770:7:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9981, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8770:7:22", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8763:15:22" - }, - "scope": 10071, - "src": "8682:239:22", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10038, - "nodeType": "Block", - "src": "9161:81:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10027, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10013, - "src": "9207:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap storage pointer" - } - }, - "id": 10028, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 9852, - "src": "9207:10:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage", - "typeString": "struct EnumerableMap.Map storage ref" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10031, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10015, - "src": "9227:3:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10030, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9219:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 10029, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "9219:7:22", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10032, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9219:12:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Map_$9543_storage", - "typeString": "struct EnumerableMap.Map storage ref" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10026, - "name": "_get", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 9816, - 9850 - ], - "referencedDeclaration": 9816, - "src": "9202:4:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Map_$9543_storage_ptr_$_t_bytes32_$returns$_t_bytes32_$", - "typeString": "function (struct EnumerableMap.Map storage pointer,bytes32) view returns (bytes32)" - } - }, - "id": 10033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9202:30:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10025, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9194:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 10024, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9194:7:22", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10034, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9194:39:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10023, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9186:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 10022, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "9186:7:22", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10035, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9186:48:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 10021, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9178:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 10020, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9178:7:22", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9178:57:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "functionReturnParameters": 10019, - "id": 10037, - "nodeType": "Return", - "src": "9171:64:22" - } - ] - }, - "documentation": "@dev Returns the value associated with `key`. O(1).\n * Requirements:\n * - `key` must be in the map.", - "id": 10039, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "get", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10016, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10013, - "name": "map", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10039, - "src": "9086:28:22", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - }, - "typeName": { - "contractScope": null, - "id": 10012, - "name": "UintToAddressMap", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9853, - "src": "9086:16:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10015, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10039, - "src": "9116:11:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10014, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9116:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9085:43:22" - }, - "returnParameters": { - "id": 10019, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10018, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10039, - "src": "9152:7:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10017, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9152:7:22", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9151:9:22" - }, - "scope": 10071, - "src": "9073:169:22", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10069, - "nodeType": "Block", - "src": "9638:95:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10057, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10041, - "src": "9684:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap storage pointer" - } - }, - "id": 10058, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 9852, - "src": "9684:10:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage", - "typeString": "struct EnumerableMap.Map storage ref" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10061, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10043, - "src": "9704:3:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10060, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9696:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 10059, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "9696:7:22", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10062, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9696:12:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 10063, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10045, - "src": "9710:12:22", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Map_$9543_storage", - "typeString": "struct EnumerableMap.Map storage ref" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 10056, - "name": "_get", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 9816, - 9850 - ], - "referencedDeclaration": 9850, - "src": "9679:4:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Map_$9543_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": 10064, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9679:44:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10055, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9671:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 10054, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9671:7:22", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10065, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9671:53:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10053, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9663:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 10052, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "9663:7:22", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10066, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9663:62:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 10051, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9655:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 10050, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9655:7:22", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10067, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9655:71:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "functionReturnParameters": 10049, - "id": 10068, - "nodeType": "Return", - "src": "9648:78:22" - } - ] - }, - "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": 10070, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "get", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10046, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10041, - "name": "map", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10070, - "src": "9535:28:22", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - }, - "typeName": { - "contractScope": null, - "id": 10040, - "name": "UintToAddressMap", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9853, - "src": "9535:16:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10043, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10070, - "src": "9565:11:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10042, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9565:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10045, - "name": "errorMessage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10070, - "src": "9578:26:22", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 10044, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "9578:6:22", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9534:71:22" - }, - "returnParameters": { - "id": 10049, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10048, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10070, - "src": "9629:7:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10047, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9629:7:22", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9628:9:22" - }, - "scope": 10071, - "src": "9522:211:22", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 10072, - "src": "772:8963:22" - } - ], - "src": "33:9703:22" - }, - "legacyAST": { - "absolutePath": "@openzeppelin/contracts/utils/EnumerableMap.sol", - "exportedSymbols": { - "EnumerableMap": [ - 10071 - ] - }, - "id": 10072, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 9530, - "literals": [ - "solidity", - ">=", - "0.6", - ".0", - "<", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:31:22" - }, - { - "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": 10071, - "linearizedBaseContracts": [ - 10071 - ], - "name": "EnumerableMap", - "nodeType": "ContractDefinition", - "nodes": [ - { - "canonicalName": "EnumerableMap.MapEntry", - "id": 9535, - "members": [ - { - "constant": false, - "id": 9532, - "name": "_key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9535, - "src": "1284:12:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9531, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1284:7:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9534, - "name": "_value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9535, - "src": "1306:14:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9533, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1306:7:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "MapEntry", - "nodeType": "StructDefinition", - "scope": 10071, - "src": "1258:69:22", - "visibility": "public" - }, - { - "canonicalName": "EnumerableMap.Map", - "id": 9543, - "members": [ - { - "constant": false, - "id": 9538, - "name": "_entries", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9543, - "src": "1396:19:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MapEntry_$9535_storage_$dyn_storage_ptr", - "typeString": "struct EnumerableMap.MapEntry[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 9536, - "name": "MapEntry", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9535, - "src": "1396:8:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9535_storage_ptr", - "typeString": "struct EnumerableMap.MapEntry" - } - }, - "id": 9537, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1396:10:22", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MapEntry_$9535_storage_$dyn_storage_ptr", - "typeString": "struct EnumerableMap.MapEntry[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9542, - "name": "_indexes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9543, - "src": "1565:37:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - }, - "typeName": { - "id": 9541, - "keyType": { - "id": 9539, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1574:7:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Mapping", - "src": "1565:28:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - }, - "valueType": { - "id": 9540, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1585:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Map", - "nodeType": "StructDefinition", - "scope": 10071, - "src": "1333:276:22", - "visibility": "public" - }, - { - "body": { - "id": 9603, - "nodeType": "Block", - "src": "1918:596:22", - "statements": [ - { - "assignments": [ - 9555 - ], - "declarations": [ - { - "constant": false, - "id": 9555, - "name": "keyIndex", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9603, - "src": "2026:16:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9554, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2026:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9560, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9556, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9545, - "src": "2045:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9557, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_indexes", - "nodeType": "MemberAccess", - "referencedDeclaration": 9542, - "src": "2045:12:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 9559, - "indexExpression": { - "argumentTypes": null, - "id": 9558, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9547, - "src": "2058:3:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2045:17:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2026:36:22" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9561, - "name": "keyIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9555, - "src": "2077:8:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 9562, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2089:1:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2077:13:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 9601, - "nodeType": "Block", - "src": "2416:92:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 9597, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9588, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9545, - "src": "2430:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9593, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_entries", - "nodeType": "MemberAccess", - "referencedDeclaration": 9538, - "src": "2430:12:22", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MapEntry_$9535_storage_$dyn_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" - } - }, - "id": 9594, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9592, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9590, - "name": "keyIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9555, - "src": "2443:8:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 9591, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2454:1:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "2443:12:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2430:26:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9535_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref" - } - }, - "id": 9595, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "_value", - "nodeType": "MemberAccess", - "referencedDeclaration": 9534, - "src": "2430:33:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 9596, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9549, - "src": "2466:5:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "2430:41:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 9598, - "nodeType": "ExpressionStatement", - "src": "2430:41:22" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 9599, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2492:5:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 9553, - "id": 9600, - "nodeType": "Return", - "src": "2485:12:22" - } - ] - }, - "id": 9602, - "nodeType": "IfStatement", - "src": "2073:435:22", - "trueBody": { - "id": 9587, - "nodeType": "Block", - "src": "2092:318:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9570, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9547, - "src": "2178:3:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 9571, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9549, - "src": "2191:5:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 9569, - "name": "MapEntry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9535, - "src": "2161:8:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_MapEntry_$9535_storage_ptr_$", - "typeString": "type(struct EnumerableMap.MapEntry storage pointer)" - } - }, - "id": 9572, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [ - "_key", - "_value" - ], - "nodeType": "FunctionCall", - "src": "2161:38:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9535_memory", - "typeString": "struct EnumerableMap.MapEntry memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_MapEntry_$9535_memory", - "typeString": "struct EnumerableMap.MapEntry memory" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9564, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9545, - "src": "2143:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9567, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_entries", - "nodeType": "MemberAccess", - "referencedDeclaration": 9538, - "src": "2143:12:22", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MapEntry_$9535_storage_$dyn_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" - } - }, - "id": 9568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2143:17:22", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_MapEntry_$9535_storage_$returns$__$", - "typeString": "function (struct EnumerableMap.MapEntry storage ref)" - } - }, - "id": 9573, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2143:57:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9574, - "nodeType": "ExpressionStatement", - "src": "2143:57:22" - }, - { - "expression": { - "argumentTypes": null, - "id": 9583, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9575, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9545, - "src": "2335:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9578, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_indexes", - "nodeType": "MemberAccess", - "referencedDeclaration": 9542, - "src": "2335:12:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 9579, - "indexExpression": { - "argumentTypes": null, - "id": 9577, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9547, - "src": "2348:3:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2335:17:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9580, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9545, - "src": "2355:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9581, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_entries", - "nodeType": "MemberAccess", - "referencedDeclaration": 9538, - "src": "2355:12:22", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MapEntry_$9535_storage_$dyn_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" - } - }, - "id": 9582, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2355:19:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2335:39:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9584, - "nodeType": "ExpressionStatement", - "src": "2335:39:22" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 9585, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2395:4:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 9553, - "id": 9586, - "nodeType": "Return", - "src": "2388:11:22" - } - ] - } - } - ] - }, - "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": 9604, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_set", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9550, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9545, - "name": "map", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9604, - "src": "1850:15:22", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map" - }, - "typeName": { - "contractScope": null, - "id": 9544, - "name": "Map", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9543, - "src": "1850:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9547, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9604, - "src": "1867:11:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9546, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1867:7:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9549, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9604, - "src": "1880:13:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9548, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1880:7:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1849:45:22" - }, - "returnParameters": { - "id": 9553, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9552, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9604, - "src": "1912:4:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9551, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1912:4:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1911:6:22" - }, - "scope": 10071, - "src": "1836:678:22", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 9683, - "nodeType": "Block", - "src": "2752:1447:22", - "statements": [ - { - "assignments": [ - 9614 - ], - "declarations": [ - { - "constant": false, - "id": 9614, - "name": "keyIndex", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9683, - "src": "2860:16:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9613, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2860:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9619, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9615, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9606, - "src": "2879:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9616, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_indexes", - "nodeType": "MemberAccess", - "referencedDeclaration": 9542, - "src": "2879:12:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 9618, - "indexExpression": { - "argumentTypes": null, - "id": 9617, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9608, - "src": "2892:3:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2879:17:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2860:36:22" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9622, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9620, - "name": "keyIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9614, - "src": "2911:8:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 9621, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2923:1:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2911:13:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 9681, - "nodeType": "Block", - "src": "4156:37:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 9679, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4177:5:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 9612, - "id": 9680, - "nodeType": "Return", - "src": "4170:12:22" - } - ] - }, - "id": 9682, - "nodeType": "IfStatement", - "src": "2907:1286:22", - "trueBody": { - "id": 9678, - "nodeType": "Block", - "src": "2926:1224:22", - "statements": [ - { - "assignments": [ - 9624 - ], - "declarations": [ - { - "constant": false, - "id": 9624, - "name": "toDeleteIndex", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9678, - "src": "3267:21:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9623, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3267:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9628, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9625, - "name": "keyIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9614, - "src": "3291:8:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 9626, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3302:1:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3291:12:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3267:36:22" - }, - { - "assignments": [ - 9630 - ], - "declarations": [ - { - "constant": false, - "id": 9630, - "name": "lastIndex", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9678, - "src": "3317:17:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9629, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3317:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9636, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9631, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9606, - "src": "3337:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9632, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_entries", - "nodeType": "MemberAccess", - "referencedDeclaration": 9538, - "src": "3337:12:22", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MapEntry_$9535_storage_$dyn_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" - } - }, - "id": 9633, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3337:19:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 9634, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3359:1:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3337:23:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3317:43:22" - }, - { - "assignments": [ - 9638 - ], - "declarations": [ - { - "constant": false, - "id": 9638, - "name": "lastEntry", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9678, - "src": "3600:26:22", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9535_storage_ptr", - "typeString": "struct EnumerableMap.MapEntry" - }, - "typeName": { - "contractScope": null, - "id": 9637, - "name": "MapEntry", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9535, - "src": "3600:8:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9535_storage_ptr", - "typeString": "struct EnumerableMap.MapEntry" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9643, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9639, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9606, - "src": "3629:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9640, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_entries", - "nodeType": "MemberAccess", - "referencedDeclaration": 9538, - "src": "3629:12:22", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MapEntry_$9535_storage_$dyn_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" - } - }, - "id": 9642, - "indexExpression": { - "argumentTypes": null, - "id": 9641, - "name": "lastIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9630, - "src": "3642:9:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3629:23:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9535_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3600:52:22" - }, - { - "expression": { - "argumentTypes": null, - "id": 9650, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9644, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9606, - "src": "3744:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9647, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_entries", - "nodeType": "MemberAccess", - "referencedDeclaration": 9538, - "src": "3744:12:22", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MapEntry_$9535_storage_$dyn_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" - } - }, - "id": 9648, - "indexExpression": { - "argumentTypes": null, - "id": 9646, - "name": "toDeleteIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9624, - "src": "3757:13:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3744:27:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9535_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 9649, - "name": "lastEntry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9638, - "src": "3774:9:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9535_storage_ptr", - "typeString": "struct EnumerableMap.MapEntry storage pointer" - } - }, - "src": "3744:39:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9535_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref" - } - }, - "id": 9651, - "nodeType": "ExpressionStatement", - "src": "3744:39:22" - }, - { - "expression": { - "argumentTypes": null, - "id": 9661, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9652, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9606, - "src": "3849:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9656, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_indexes", - "nodeType": "MemberAccess", - "referencedDeclaration": 9542, - "src": "3849:12:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 9657, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9654, - "name": "lastEntry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9638, - "src": "3862:9:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9535_storage_ptr", - "typeString": "struct EnumerableMap.MapEntry storage pointer" - } - }, - "id": 9655, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_key", - "nodeType": "MemberAccess", - "referencedDeclaration": 9532, - "src": "3862:14:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3849:28:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9660, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9658, - "name": "toDeleteIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9624, - "src": "3880:13:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 9659, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3896:1:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3880:17:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3849:48:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9662, - "nodeType": "ExpressionStatement", - "src": "3849:48:22" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9663, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9606, - "src": "4003:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9666, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_entries", - "nodeType": "MemberAccess", - "referencedDeclaration": 9538, - "src": "4003:12:22", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MapEntry_$9535_storage_$dyn_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" - } - }, - "id": 9667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "pop", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4003:16:22", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypop_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 9668, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4003:18:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9669, - "nodeType": "ExpressionStatement", - "src": "4003:18:22" - }, - { - "expression": { - "argumentTypes": null, - "id": 9674, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "4089:24:22", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9670, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9606, - "src": "4096:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9671, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_indexes", - "nodeType": "MemberAccess", - "referencedDeclaration": 9542, - "src": "4096:12:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 9673, - "indexExpression": { - "argumentTypes": null, - "id": 9672, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9608, - "src": "4109:3:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4096:17:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9675, - "nodeType": "ExpressionStatement", - "src": "4089:24:22" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 9676, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4135:4:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 9612, - "id": 9677, - "nodeType": "Return", - "src": "4128:11:22" - } - ] - } - } - ] - }, - "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": 9684, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_remove", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9609, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9606, - "name": "map", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9684, - "src": "2699:15:22", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map" - }, - "typeName": { - "contractScope": null, - "id": 9605, - "name": "Map", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9543, - "src": "2699:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9608, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9684, - "src": "2716:11:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9607, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2716:7:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2698:30:22" - }, - "returnParameters": { - "id": 9612, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9611, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9684, - "src": "2746:4:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9610, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2746:4:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2745:6:22" - }, - "scope": 10071, - "src": "2682:1517:22", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 9700, - "nodeType": "Block", - "src": "4355:46:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9698, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9693, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9686, - "src": "4372:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9694, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_indexes", - "nodeType": "MemberAccess", - "referencedDeclaration": 9542, - "src": "4372:12:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 9696, - "indexExpression": { - "argumentTypes": null, - "id": 9695, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9688, - "src": "4385:3:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4372:17:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 9697, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4393:1:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4372:22:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 9692, - "id": 9699, - "nodeType": "Return", - "src": "4365:29:22" - } - ] - }, - "documentation": "@dev Returns true if the key is in the map. O(1).", - "id": 9701, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_contains", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9689, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9686, - "name": "map", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9701, - "src": "4297:15:22", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map" - }, - "typeName": { - "contractScope": null, - "id": 9685, - "name": "Map", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9543, - "src": "4297:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9688, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9701, - "src": "4314:11:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9687, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4314:7:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4296:30:22" - }, - "returnParameters": { - "id": 9692, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9691, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9701, - "src": "4349:4:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9690, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4349:4:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4348:6:22" - }, - "scope": 10071, - "src": "4278:123:22", - "stateMutability": "view", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 9712, - "nodeType": "Block", - "src": "4556:43:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9708, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9703, - "src": "4573:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9709, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_entries", - "nodeType": "MemberAccess", - "referencedDeclaration": 9538, - "src": "4573:12:22", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MapEntry_$9535_storage_$dyn_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" - } - }, - "id": 9710, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4573:19:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 9707, - "id": 9711, - "nodeType": "Return", - "src": "4566:26:22" - } - ] - }, - "documentation": "@dev Returns the number of key-value pairs in the map. O(1).", - "id": 9713, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_length", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9704, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9703, - "name": "map", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9713, - "src": "4508:15:22", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map" - }, - "typeName": { - "contractScope": null, - "id": 9702, - "name": "Map", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9543, - "src": "4508:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4507:17:22" - }, - "returnParameters": { - "id": 9707, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9706, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9713, - "src": "4547:7:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9705, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4547:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4546:9:22" - }, - "scope": 10071, - "src": "4491:108:22", - "stateMutability": "view", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 9746, - "nodeType": "Block", - "src": "5027:189:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9729, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9725, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9715, - "src": "5045:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9726, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_entries", - "nodeType": "MemberAccess", - "referencedDeclaration": 9538, - "src": "5045:12:22", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MapEntry_$9535_storage_$dyn_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" - } - }, - "id": 9727, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5045:19:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 9728, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9717, - "src": "5067:5:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5045:27:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "456e756d657261626c654d61703a20696e646578206f7574206f6620626f756e6473", - "id": 9730, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5074:36:22", - "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": 9724, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5037:7:22", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9731, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5037:74:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9732, - "nodeType": "ExpressionStatement", - "src": "5037:74:22" - }, - { - "assignments": [ - 9734 - ], - "declarations": [ - { - "constant": false, - "id": 9734, - "name": "entry", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9746, - "src": "5122:22:22", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9535_storage_ptr", - "typeString": "struct EnumerableMap.MapEntry" - }, - "typeName": { - "contractScope": null, - "id": 9733, - "name": "MapEntry", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9535, - "src": "5122:8:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9535_storage_ptr", - "typeString": "struct EnumerableMap.MapEntry" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9739, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9735, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9715, - "src": "5147:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9736, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_entries", - "nodeType": "MemberAccess", - "referencedDeclaration": 9538, - "src": "5147:12:22", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MapEntry_$9535_storage_$dyn_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" - } - }, - "id": 9738, - "indexExpression": { - "argumentTypes": null, - "id": 9737, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9717, - "src": "5160:5:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5147:19:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9535_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5122:44:22" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9740, - "name": "entry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9734, - "src": "5184:5:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9535_storage_ptr", - "typeString": "struct EnumerableMap.MapEntry storage pointer" - } - }, - "id": 9741, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_key", - "nodeType": "MemberAccess", - "referencedDeclaration": 9532, - "src": "5184:10:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9742, - "name": "entry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9734, - "src": "5196:5:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9535_storage_ptr", - "typeString": "struct EnumerableMap.MapEntry storage pointer" - } - }, - "id": 9743, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_value", - "nodeType": "MemberAccess", - "referencedDeclaration": 9534, - "src": "5196:12:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 9744, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5183:26:22", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bytes32_$_t_bytes32_$", - "typeString": "tuple(bytes32,bytes32)" - } - }, - "functionReturnParameters": 9723, - "id": 9745, - "nodeType": "Return", - "src": "5176:33:22" - } - ] - }, - "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": 9747, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_at", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9718, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9715, - "name": "map", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9747, - "src": "4955:15:22", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map" - }, - "typeName": { - "contractScope": null, - "id": 9714, - "name": "Map", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9543, - "src": "4955:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9717, - "name": "index", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9747, - "src": "4972:13:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9716, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4972:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4954:32:22" - }, - "returnParameters": { - "id": 9723, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9720, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9747, - "src": "5009:7:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9719, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5009:7:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9722, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9747, - "src": "5018:7:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9721, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5018:7:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5008:18:22" - }, - "scope": 10071, - "src": "4942:274:22", - "stateMutability": "view", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 9783, - "nodeType": "Block", - "src": "5442:220:22", - "statements": [ - { - "assignments": [ - 9759 - ], - "declarations": [ - { - "constant": false, - "id": 9759, - "name": "keyIndex", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9783, - "src": "5452:16:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9758, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5452:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9764, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9760, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9749, - "src": "5471:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9761, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_indexes", - "nodeType": "MemberAccess", - "referencedDeclaration": 9542, - "src": "5471:12:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 9763, - "indexExpression": { - "argumentTypes": null, - "id": 9762, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9751, - "src": "5484:3:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5471:17:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5452:36:22" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9767, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9765, - "name": "keyIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9759, - "src": "5502:8:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 9766, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5514:1:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5502:13:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 9772, - "nodeType": "IfStatement", - "src": "5498:36:22", - "trueBody": { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 9768, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5525:5:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 9769, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5532:1:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "id": 9770, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5524:10:22", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", - "typeString": "tuple(bool,int_const 0)" - } - }, - "functionReturnParameters": 9757, - "id": 9771, - "nodeType": "Return", - "src": "5517:17:22" - } - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 9773, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5588:4:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9774, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9749, - "src": "5594:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9775, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_entries", - "nodeType": "MemberAccess", - "referencedDeclaration": 9538, - "src": "5594:12:22", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MapEntry_$9535_storage_$dyn_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" - } - }, - "id": 9779, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9778, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9776, - "name": "keyIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9759, - "src": "5607:8:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 9777, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5618:1:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "5607:12:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5594:26:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9535_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref" - } - }, - "id": 9780, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_value", - "nodeType": "MemberAccess", - "referencedDeclaration": 9534, - "src": "5594:33:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 9781, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5587:41:22", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes32_$", - "typeString": "tuple(bool,bytes32)" - } - }, - "functionReturnParameters": 9757, - "id": 9782, - "nodeType": "Return", - "src": "5580:48:22" - } - ] - }, - "documentation": "@dev Tries to returns the value associated with `key`. O(1).\nDoes not revert if `key` is not in the map.", - "id": 9784, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_tryGet", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9752, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9749, - "name": "map", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9784, - "src": "5375:15:22", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map" - }, - "typeName": { - "contractScope": null, - "id": 9748, - "name": "Map", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9543, - "src": "5375:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9751, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9784, - "src": "5392:11:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9750, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5392:7:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5374:30:22" - }, - "returnParameters": { - "id": 9757, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9754, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9784, - "src": "5427:4:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9753, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5427:4:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9756, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9784, - "src": "5433:7:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9755, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5433:7:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5426:15:22" - }, - "scope": 10071, - "src": "5358:304:22", - "stateMutability": "view", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 9815, - "nodeType": "Block", - "src": "5889:232:22", - "statements": [ - { - "assignments": [ - 9794 - ], - "declarations": [ - { - "constant": false, - "id": 9794, - "name": "keyIndex", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9815, - "src": "5899:16:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9793, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5899:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9799, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9795, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9786, - "src": "5918:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9796, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_indexes", - "nodeType": "MemberAccess", - "referencedDeclaration": 9542, - "src": "5918:12:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 9798, - "indexExpression": { - "argumentTypes": null, - "id": 9797, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9788, - "src": "5931:3:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5918:17:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5899:36:22" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9803, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9801, - "name": "keyIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9794, - "src": "5953:8:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 9802, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5965:1:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5953:13:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "456e756d657261626c654d61703a206e6f6e6578697374656e74206b6579", - "id": 9804, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5968:32:22", - "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": 9800, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5945:7:22", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9805, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5945:56:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9806, - "nodeType": "ExpressionStatement", - "src": "5945:56:22" - }, - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9807, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9786, - "src": "6054:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9808, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_entries", - "nodeType": "MemberAccess", - "referencedDeclaration": 9538, - "src": "6054:12:22", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MapEntry_$9535_storage_$dyn_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" - } - }, - "id": 9812, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9811, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9809, - "name": "keyIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9794, - "src": "6067:8:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 9810, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6078:1:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "6067:12:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6054:26:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9535_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref" - } - }, - "id": 9813, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_value", - "nodeType": "MemberAccess", - "referencedDeclaration": 9534, - "src": "6054:33:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 9792, - "id": 9814, - "nodeType": "Return", - "src": "6047:40:22" - } - ] - }, - "documentation": "@dev Returns the value associated with `key`. O(1).\n * Requirements:\n * - `key` must be in the map.", - "id": 9816, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_get", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9789, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9786, - "name": "map", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9816, - "src": "5828:15:22", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map" - }, - "typeName": { - "contractScope": null, - "id": 9785, - "name": "Map", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9543, - "src": "5828:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9788, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9816, - "src": "5845:11:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9787, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5845:7:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5827:30:22" - }, - "returnParameters": { - "id": 9792, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9791, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9816, - "src": "5880:7:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9790, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5880:7:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5879:9:22" - }, - "scope": 10071, - "src": "5814:307:22", - "stateMutability": "view", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 9849, - "nodeType": "Block", - "src": "6506:212:22", - "statements": [ - { - "assignments": [ - 9828 - ], - "declarations": [ - { - "constant": false, - "id": 9828, - "name": "keyIndex", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9849, - "src": "6516:16:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9827, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6516:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9833, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9829, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9818, - "src": "6535:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9830, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_indexes", - "nodeType": "MemberAccess", - "referencedDeclaration": 9542, - "src": "6535:12:22", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 9832, - "indexExpression": { - "argumentTypes": null, - "id": 9831, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9820, - "src": "6548:3:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6535:17:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6516:36:22" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9837, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9835, - "name": "keyIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9828, - "src": "6570:8:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 9836, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6582:1:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6570:13:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 9838, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9822, - "src": "6585:12:22", - "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": 9834, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6562:7:22", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9839, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6562:36:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9840, - "nodeType": "ExpressionStatement", - "src": "6562:36:22" - }, - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9841, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9818, - "src": "6651:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9842, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_entries", - "nodeType": "MemberAccess", - "referencedDeclaration": 9538, - "src": "6651:12:22", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MapEntry_$9535_storage_$dyn_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" - } - }, - "id": 9846, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9843, - "name": "keyIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9828, - "src": "6664:8:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 9844, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6675:1:22", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "6664:12:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6651:26:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9535_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref" - } - }, - "id": 9847, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_value", - "nodeType": "MemberAccess", - "referencedDeclaration": 9534, - "src": "6651:33:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 9826, - "id": 9848, - "nodeType": "Return", - "src": "6644:40:22" - } - ] - }, - "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": 9850, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_get", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9823, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9818, - "name": "map", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9850, - "src": "6417:15:22", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map" - }, - "typeName": { - "contractScope": null, - "id": 9817, - "name": "Map", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9543, - "src": "6417:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9820, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9850, - "src": "6434:11:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9819, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6434:7:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9822, - "name": "errorMessage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9850, - "src": "6447:26:22", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 9821, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "6447:6:22", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6416:58:22" - }, - "returnParameters": { - "id": 9826, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9825, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9850, - "src": "6497:7:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9824, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6497:7:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6496:9:22" - }, - "scope": 10071, - "src": "6403:315:22", - "stateMutability": "view", - "virtual": false, - "visibility": "private" - }, - { - "canonicalName": "EnumerableMap.UintToAddressMap", - "id": 9853, - "members": [ - { - "constant": false, - "id": 9852, - "name": "_inner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9853, - "src": "6783:10:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map" - }, - "typeName": { - "contractScope": null, - "id": 9851, - "name": "Map", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9543, - "src": "6783:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage_ptr", - "typeString": "struct EnumerableMap.Map" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "UintToAddressMap", - "nodeType": "StructDefinition", - "scope": 10071, - "src": "6749:51:22", - "visibility": "public" - }, - { - "body": { - "id": 9883, - "nodeType": "Block", - "src": "7122:88:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9865, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9855, - "src": "7144:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap storage pointer" - } - }, - "id": 9866, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 9852, - "src": "7144:10:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage", - "typeString": "struct EnumerableMap.Map storage ref" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9869, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9857, - "src": "7164:3:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9868, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7156:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 9867, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7156:7:22", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 9870, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7156:12:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9877, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9859, - "src": "7194:5:22", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 9876, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7186:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 9875, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "7186:7:22", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 9878, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7186:14:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 9874, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7178:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 9873, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7178:7:22", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 9879, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7178:23:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9872, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7170:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 9871, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7170:7:22", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 9880, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7170:32:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Map_$9543_storage", - "typeString": "struct EnumerableMap.Map storage ref" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 9864, - "name": "_set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9604, - "src": "7139:4:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Map_$9543_storage_ptr_$_t_bytes32_$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (struct EnumerableMap.Map storage pointer,bytes32,bytes32) returns (bool)" - } - }, - "id": 9881, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7139:64:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 9863, - "id": 9882, - "nodeType": "Return", - "src": "7132:71:22" - } - ] - }, - "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": 9884, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "set", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9860, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9855, - "name": "map", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9884, - "src": "7040:28:22", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - }, - "typeName": { - "contractScope": null, - "id": 9854, - "name": "UintToAddressMap", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9853, - "src": "7040:16:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9857, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9884, - "src": "7070:11:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9856, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7070:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9859, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9884, - "src": "7083:13:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9858, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7083:7:22", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7039:58:22" - }, - "returnParameters": { - "id": 9863, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9862, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9884, - "src": "7116:4:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9861, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7116:4:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7115:6:22" - }, - "scope": 10071, - "src": "7027:183:22", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9902, - "nodeType": "Block", - "src": "7452:57:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9894, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9886, - "src": "7477:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap storage pointer" - } - }, - "id": 9895, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 9852, - "src": "7477:10:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage", - "typeString": "struct EnumerableMap.Map storage ref" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9898, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9888, - "src": "7497:3:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9897, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7489:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 9896, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7489:7:22", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 9899, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7489:12:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Map_$9543_storage", - "typeString": "struct EnumerableMap.Map storage ref" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 9893, - "name": "_remove", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9684, - "src": "7469:7:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Map_$9543_storage_ptr_$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (struct EnumerableMap.Map storage pointer,bytes32) returns (bool)" - } - }, - "id": 9900, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7469:33:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 9892, - "id": 9901, - "nodeType": "Return", - "src": "7462:40:22" - } - ] - }, - "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": 9903, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "remove", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9889, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9886, - "name": "map", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9903, - "src": "7385:28:22", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - }, - "typeName": { - "contractScope": null, - "id": 9885, - "name": "UintToAddressMap", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9853, - "src": "7385:16:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9888, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9903, - "src": "7415:11:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9887, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7415:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7384:43:22" - }, - "returnParameters": { - "id": 9892, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9891, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9903, - "src": "7446:4:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9890, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7446:4:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7445:6:22" - }, - "scope": 10071, - "src": "7369:140:22", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9921, - "nodeType": "Block", - "src": "7678:59:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9913, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9905, - "src": "7705:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap storage pointer" - } - }, - "id": 9914, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 9852, - "src": "7705:10:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage", - "typeString": "struct EnumerableMap.Map storage ref" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9917, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9907, - "src": "7725:3:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9916, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7717:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 9915, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7717:7:22", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 9918, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7717:12:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Map_$9543_storage", - "typeString": "struct EnumerableMap.Map storage ref" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 9912, - "name": "_contains", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9701, - "src": "7695:9:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Map_$9543_storage_ptr_$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (struct EnumerableMap.Map storage pointer,bytes32) view returns (bool)" - } - }, - "id": 9919, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7695:35:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 9911, - "id": 9920, - "nodeType": "Return", - "src": "7688:42:22" - } - ] - }, - "documentation": "@dev Returns true if the key is in the map. O(1).", - "id": 9922, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "contains", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9908, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9905, - "name": "map", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9922, - "src": "7606:28:22", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - }, - "typeName": { - "contractScope": null, - "id": 9904, - "name": "UintToAddressMap", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9853, - "src": "7606:16:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9907, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9922, - "src": "7636:11:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9906, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7636:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7605:43:22" - }, - "returnParameters": { - "id": 9911, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9910, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9922, - "src": "7672:4:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9909, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7672:4:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7671:6:22" - }, - "scope": 10071, - "src": "7588:149:22", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9934, - "nodeType": "Block", - "src": "7898:43:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9930, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9924, - "src": "7923:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap storage pointer" - } - }, - "id": 9931, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 9852, - "src": "7923:10:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage", - "typeString": "struct EnumerableMap.Map storage ref" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Map_$9543_storage", - "typeString": "struct EnumerableMap.Map storage ref" - } - ], - "id": 9929, - "name": "_length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9713, - "src": "7915:7:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Map_$9543_storage_ptr_$returns$_t_uint256_$", - "typeString": "function (struct EnumerableMap.Map storage pointer) view returns (uint256)" - } - }, - "id": 9932, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7915:19:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 9928, - "id": 9933, - "nodeType": "Return", - "src": "7908:26:22" - } - ] - }, - "documentation": "@dev Returns the number of elements in the map. O(1).", - "id": 9935, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "length", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9925, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9924, - "name": "map", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9935, - "src": "7836:28:22", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - }, - "typeName": { - "contractScope": null, - "id": 9923, - "name": "UintToAddressMap", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9853, - "src": "7836:16:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7835:30:22" - }, - "returnParameters": { - "id": 9928, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9927, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9935, - "src": "7889:7:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9926, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7889:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7888:9:22" - }, - "scope": 10071, - "src": "7820:121:22", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9972, - "nodeType": "Block", - "src": "8367:135:22", - "statements": [ - { - "assignments": [ - 9947, - 9949 - ], - "declarations": [ - { - "constant": false, - "id": 9947, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9972, - "src": "8378:11:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9946, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "8378:7:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9949, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9972, - "src": "8391:13:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9948, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "8391:7:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9955, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9951, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9937, - "src": "8412:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap storage pointer" - } - }, - "id": 9952, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 9852, - "src": "8412:10:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage", - "typeString": "struct EnumerableMap.Map storage ref" - } - }, - { - "argumentTypes": null, - "id": 9953, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9939, - "src": "8424:5:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Map_$9543_storage", - "typeString": "struct EnumerableMap.Map storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9950, - "name": "_at", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9747, - "src": "8408:3:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Map_$9543_storage_ptr_$_t_uint256_$returns$_t_bytes32_$_t_bytes32_$", - "typeString": "function (struct EnumerableMap.Map storage pointer,uint256) view returns (bytes32,bytes32)" - } - }, - "id": 9954, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8408:22:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bytes32_$_t_bytes32_$", - "typeString": "tuple(bytes32,bytes32)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8377:53:22" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9958, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9947, - "src": "8456:3:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 9957, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8448:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 9956, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8448:7:22", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 9959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8448:12:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9966, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9949, - "src": "8486:5:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 9965, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8478:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 9964, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8478:7:22", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 9967, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8478:14:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9963, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8470:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 9962, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "8470:7:22", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 9968, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8470:23:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 9961, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8462:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 9960, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8462:7:22", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 9969, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8462:32:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "id": 9970, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8447:48:22", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_address_payable_$", - "typeString": "tuple(uint256,address payable)" - } - }, - "functionReturnParameters": 9945, - "id": 9971, - "nodeType": "Return", - "src": "8440:55:22" - } - ] - }, - "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": 9973, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "at", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9940, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9937, - "name": "map", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9973, - "src": "8281:28:22", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - }, - "typeName": { - "contractScope": null, - "id": 9936, - "name": "UintToAddressMap", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9853, - "src": "8281:16:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9939, - "name": "index", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9973, - "src": "8311:13:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9938, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8311:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8280:45:22" - }, - "returnParameters": { - "id": 9945, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9942, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9973, - "src": "8349:7:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9941, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8349:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9944, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9973, - "src": "8358:7:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9943, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8358:7:22", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8348:18:22" - }, - "scope": 10071, - "src": "8269:233:22", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10010, - "nodeType": "Block", - "src": "8779:142:22", - "statements": [ - { - "assignments": [ - 9985, - 9987 - ], - "declarations": [ - { - "constant": false, - "id": 9985, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10010, - "src": "8790:12:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9984, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8790:4:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9987, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10010, - "src": "8804:13:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9986, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "8804:7:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9996, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9989, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9975, - "src": "8829:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap storage pointer" - } - }, - "id": 9990, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 9852, - "src": "8829:10:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage", - "typeString": "struct EnumerableMap.Map storage ref" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9993, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9977, - "src": "8849:3:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9992, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8841:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 9991, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "8841:7:22", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 9994, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8841:12:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Map_$9543_storage", - "typeString": "struct EnumerableMap.Map storage ref" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 9988, - "name": "_tryGet", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9784, - "src": "8821:7:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Map_$9543_storage_ptr_$_t_bytes32_$returns$_t_bool_$_t_bytes32_$", - "typeString": "function (struct EnumerableMap.Map storage pointer,bytes32) view returns (bool,bytes32)" - } - }, - "id": 9995, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8821:33:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes32_$", - "typeString": "tuple(bool,bytes32)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8789:65:22" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 9997, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9985, - "src": "8872:7:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10004, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9987, - "src": "8905:5:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10003, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8897:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 10002, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8897:7:22", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10005, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8897:14:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10001, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8889:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 10000, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "8889:7:22", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10006, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8889:23:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 9999, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8881:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 9998, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8881:7:22", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10007, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8881:32:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "id": 10008, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8871:43:22", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_address_payable_$", - "typeString": "tuple(bool,address payable)" - } - }, - "functionReturnParameters": 9983, - "id": 10009, - "nodeType": "Return", - "src": "8864:50:22" - } - ] - }, - "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": 10011, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tryGet", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9978, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9975, - "name": "map", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10011, - "src": "8698:28:22", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - }, - "typeName": { - "contractScope": null, - "id": 9974, - "name": "UintToAddressMap", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9853, - "src": "8698:16:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9977, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10011, - "src": "8728:11:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9976, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8728:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8697:43:22" - }, - "returnParameters": { - "id": 9983, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9980, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10011, - "src": "8764:4:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9979, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8764:4:22", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9982, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10011, - "src": "8770:7:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9981, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8770:7:22", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8763:15:22" - }, - "scope": 10071, - "src": "8682:239:22", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10038, - "nodeType": "Block", - "src": "9161:81:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10027, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10013, - "src": "9207:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap storage pointer" - } - }, - "id": 10028, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 9852, - "src": "9207:10:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage", - "typeString": "struct EnumerableMap.Map storage ref" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10031, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10015, - "src": "9227:3:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10030, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9219:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 10029, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "9219:7:22", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10032, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9219:12:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Map_$9543_storage", - "typeString": "struct EnumerableMap.Map storage ref" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10026, - "name": "_get", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 9816, - 9850 - ], - "referencedDeclaration": 9816, - "src": "9202:4:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Map_$9543_storage_ptr_$_t_bytes32_$returns$_t_bytes32_$", - "typeString": "function (struct EnumerableMap.Map storage pointer,bytes32) view returns (bytes32)" - } - }, - "id": 10033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9202:30:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10025, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9194:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 10024, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9194:7:22", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10034, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9194:39:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10023, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9186:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 10022, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "9186:7:22", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10035, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9186:48:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 10021, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9178:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 10020, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9178:7:22", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9178:57:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "functionReturnParameters": 10019, - "id": 10037, - "nodeType": "Return", - "src": "9171:64:22" - } - ] - }, - "documentation": "@dev Returns the value associated with `key`. O(1).\n * Requirements:\n * - `key` must be in the map.", - "id": 10039, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "get", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10016, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10013, - "name": "map", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10039, - "src": "9086:28:22", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - }, - "typeName": { - "contractScope": null, - "id": 10012, - "name": "UintToAddressMap", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9853, - "src": "9086:16:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10015, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10039, - "src": "9116:11:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10014, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9116:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9085:43:22" - }, - "returnParameters": { - "id": 10019, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10018, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10039, - "src": "9152:7:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10017, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9152:7:22", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9151:9:22" - }, - "scope": 10071, - "src": "9073:169:22", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10069, - "nodeType": "Block", - "src": "9638:95:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10057, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10041, - "src": "9684:3:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap storage pointer" - } - }, - "id": 10058, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 9852, - "src": "9684:10:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9543_storage", - "typeString": "struct EnumerableMap.Map storage ref" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10061, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10043, - "src": "9704:3:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10060, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9696:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 10059, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "9696:7:22", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10062, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9696:12:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 10063, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10045, - "src": "9710:12:22", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Map_$9543_storage", - "typeString": "struct EnumerableMap.Map storage ref" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 10056, - "name": "_get", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 9816, - 9850 - ], - "referencedDeclaration": 9850, - "src": "9679:4:22", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Map_$9543_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": 10064, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9679:44:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10055, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9671:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 10054, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9671:7:22", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10065, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9671:53:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10053, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9663:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 10052, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "9663:7:22", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10066, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9663:62:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 10051, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9655:7:22", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 10050, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9655:7:22", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10067, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9655:71:22", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "functionReturnParameters": 10049, - "id": 10068, - "nodeType": "Return", - "src": "9648:78:22" - } - ] - }, - "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": 10070, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "get", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10046, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10041, - "name": "map", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10070, - "src": "9535:28:22", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - }, - "typeName": { - "contractScope": null, - "id": 10040, - "name": "UintToAddressMap", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9853, - "src": "9535:16:22", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$9853_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10043, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10070, - "src": "9565:11:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10042, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9565:7:22", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10045, - "name": "errorMessage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10070, - "src": "9578:26:22", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 10044, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "9578:6:22", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9534:71:22" - }, - "returnParameters": { - "id": 10049, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10048, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10070, - "src": "9629:7:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10047, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9629:7:22", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9628:9:22" - }, - "scope": 10071, - "src": "9522:211:22", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 10072, - "src": "772:8963:22" - } - ], - "src": "33:9703:22" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.20", - "updatedAt": "2021-05-11T16:04:02.527Z", - "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 d674219e..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: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": "753:8634:23:-: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": [ - 10542 - ] - }, - "id": 10543, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 10073, - "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\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": 10542, - "linearizedBaseContracts": [ - 10542 - ], - "name": "EnumerableSet", - "nodeType": "ContractDefinition", - "nodes": [ - { - "canonicalName": "EnumerableSet.Set", - "id": 10081, - "members": [ - { - "constant": false, - "id": 10076, - "name": "_values", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10081, - "src": "1275:17:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", - "typeString": "bytes32[]" - }, - "typeName": { - "baseType": { - "id": 10074, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1275:7:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 10075, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1275:9:23", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", - "typeString": "bytes32[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10080, - "name": "_indexes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10081, - "src": "1426:37:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - }, - "typeName": { - "id": 10079, - "keyType": { - "id": 10077, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1435:7:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Mapping", - "src": "1426:28:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - }, - "valueType": { - "id": 10078, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1446:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Set", - "nodeType": "StructDefinition", - "scope": 10542, - "src": "1221:249:23", - "visibility": "public" - }, - { - "body": { - "id": 10120, - "nodeType": "Block", - "src": "1709:335:23", - "statements": [ - { - "condition": { - "argumentTypes": null, - "id": 10094, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "1723:22:23", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10091, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10083, - "src": "1734:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage_ptr", - "typeString": "struct EnumerableSet.Set storage pointer" - } - }, - { - "argumentTypes": null, - "id": 10092, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10085, - "src": "1739:5:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Set_$10081_storage_ptr", - "typeString": "struct EnumerableSet.Set storage pointer" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10090, - "name": "_contains", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10217, - "src": "1724:9:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Set_$10081_storage_ptr_$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (struct EnumerableSet.Set storage pointer,bytes32) view returns (bool)" - } - }, - "id": 10093, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1724:21:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 10118, - "nodeType": "Block", - "src": "2001:37:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 10116, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2022:5:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 10089, - "id": 10117, - "nodeType": "Return", - "src": "2015:12:23" - } - ] - }, - "id": 10119, - "nodeType": "IfStatement", - "src": "1719:319:23", - "trueBody": { - "id": 10115, - "nodeType": "Block", - "src": "1747:248:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10100, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10085, - "src": "1778:5:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10095, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10083, - "src": "1761:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage_ptr", - "typeString": "struct EnumerableSet.Set storage pointer" - } - }, - "id": 10098, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_values", - "nodeType": "MemberAccess", - "referencedDeclaration": 10076, - "src": "1761:11:23", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", - "typeString": "bytes32[] storage ref" - } - }, - "id": 10099, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1761:16:23", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$__$", - "typeString": "function (bytes32)" - } - }, - "id": 10101, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1761:23:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10102, - "nodeType": "ExpressionStatement", - "src": "1761:23:23" - }, - { - "expression": { - "argumentTypes": null, - "id": 10111, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10103, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10083, - "src": "1919:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage_ptr", - "typeString": "struct EnumerableSet.Set storage pointer" - } - }, - "id": 10106, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_indexes", - "nodeType": "MemberAccess", - "referencedDeclaration": 10080, - "src": "1919:12:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 10107, - "indexExpression": { - "argumentTypes": null, - "id": 10105, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10085, - "src": "1932:5:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1919:19:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10108, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10083, - "src": "1941:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage_ptr", - "typeString": "struct EnumerableSet.Set storage pointer" - } - }, - "id": 10109, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_values", - "nodeType": "MemberAccess", - "referencedDeclaration": 10076, - "src": "1941:11:23", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", - "typeString": "bytes32[] storage ref" - } - }, - "id": 10110, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1941:18:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1919:40:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10112, - "nodeType": "ExpressionStatement", - "src": "1919:40:23" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 10113, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1980:4:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 10089, - "id": 10114, - "nodeType": "Return", - "src": "1973:11:23" - } - ] - } - } - ] - }, - "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": 10121, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_add", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10086, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10083, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10121, - "src": "1654:15:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage_ptr", - "typeString": "struct EnumerableSet.Set" - }, - "typeName": { - "contractScope": null, - "id": 10082, - "name": "Set", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10081, - "src": "1654:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage_ptr", - "typeString": "struct EnumerableSet.Set" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10085, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10121, - "src": "1671:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10084, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1671:7:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1653:32:23" - }, - "returnParameters": { - "id": 10089, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10088, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10121, - "src": "1703:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10087, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1703:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1702:6:23" - }, - "scope": 10542, - "src": "1640:404:23", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 10199, - "nodeType": "Block", - "src": "2284:1440:23", - "statements": [ - { - "assignments": [ - 10131 - ], - "declarations": [ - { - "constant": false, - "id": 10131, - "name": "valueIndex", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10199, - "src": "2394:18:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10130, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2394:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10136, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10132, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10123, - "src": "2415:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage_ptr", - "typeString": "struct EnumerableSet.Set storage pointer" - } - }, - "id": 10133, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_indexes", - "nodeType": "MemberAccess", - "referencedDeclaration": 10080, - "src": "2415:12:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 10135, - "indexExpression": { - "argumentTypes": null, - "id": 10134, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10125, - "src": "2428:5:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2415:19:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2394:40:23" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10139, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10137, - "name": "valueIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10131, - "src": "2449:10:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 10138, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2463:1:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2449:15:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 10197, - "nodeType": "Block", - "src": "3681:37:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 10195, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3702:5:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 10129, - "id": 10196, - "nodeType": "Return", - "src": "3695:12:23" - } - ] - }, - "id": 10198, - "nodeType": "IfStatement", - "src": "2445:1273:23", - "trueBody": { - "id": 10194, - "nodeType": "Block", - "src": "2466:1209:23", - "statements": [ - { - "assignments": [ - 10141 - ], - "declarations": [ - { - "constant": false, - "id": 10141, - "name": "toDeleteIndex", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10194, - "src": "2806:21:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10140, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2806:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10145, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10142, - "name": "valueIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10131, - "src": "2830:10:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 10143, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2843:1:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "2830:14:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2806:38:23" - }, - { - "assignments": [ - 10147 - ], - "declarations": [ - { - "constant": false, - "id": 10147, - "name": "lastIndex", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10194, - "src": "2858:17:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10146, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2858:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10153, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10148, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10123, - "src": "2878:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage_ptr", - "typeString": "struct EnumerableSet.Set storage pointer" - } - }, - "id": 10149, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_values", - "nodeType": "MemberAccess", - "referencedDeclaration": 10076, - "src": "2878:11:23", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", - "typeString": "bytes32[] storage ref" - } - }, - "id": 10150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2878:18:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 10151, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2899:1:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "2878:22:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2858:42:23" - }, - { - "assignments": [ - 10155 - ], - "declarations": [ - { - "constant": false, - "id": 10155, - "name": "lastvalue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10194, - "src": "3140:17:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10154, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3140:7:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10160, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10156, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10123, - "src": "3160:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage_ptr", - "typeString": "struct EnumerableSet.Set storage pointer" - } - }, - "id": 10157, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_values", - "nodeType": "MemberAccess", - "referencedDeclaration": 10076, - "src": "3160:11:23", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", - "typeString": "bytes32[] storage ref" - } - }, - "id": 10159, - "indexExpression": { - "argumentTypes": null, - "id": 10158, - "name": "lastIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10147, - "src": "3172:9:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3160:22:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3140:42:23" - }, - { - "expression": { - "argumentTypes": null, - "id": 10167, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10161, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10123, - "src": "3274:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage_ptr", - "typeString": "struct EnumerableSet.Set storage pointer" - } - }, - "id": 10164, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_values", - "nodeType": "MemberAccess", - "referencedDeclaration": 10076, - "src": "3274:11:23", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", - "typeString": "bytes32[] storage ref" - } - }, - "id": 10165, - "indexExpression": { - "argumentTypes": null, - "id": 10163, - "name": "toDeleteIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10141, - "src": "3286:13:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3274:26:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 10166, - "name": "lastvalue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10155, - "src": "3303:9:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "3274:38:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 10168, - "nodeType": "ExpressionStatement", - "src": "3274:38:23" - }, - { - "expression": { - "argumentTypes": null, - "id": 10177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10169, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10123, - "src": "3378:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage_ptr", - "typeString": "struct EnumerableSet.Set storage pointer" - } - }, - "id": 10172, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_indexes", - "nodeType": "MemberAccess", - "referencedDeclaration": 10080, - "src": "3378:12:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 10173, - "indexExpression": { - "argumentTypes": null, - "id": 10171, - "name": "lastvalue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10155, - "src": "3391:9:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3378:23:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10176, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10174, - "name": "toDeleteIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10141, - "src": "3404:13:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 10175, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3420:1:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3404:17:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3378:43:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10178, - "nodeType": "ExpressionStatement", - "src": "3378:43:23" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10179, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10123, - "src": "3527:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage_ptr", - "typeString": "struct EnumerableSet.Set storage pointer" - } - }, - "id": 10182, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_values", - "nodeType": "MemberAccess", - "referencedDeclaration": 10076, - "src": "3527:11:23", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", - "typeString": "bytes32[] storage ref" - } - }, - "id": 10183, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "pop", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3527:15:23", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypop_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 10184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3527:17:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10185, - "nodeType": "ExpressionStatement", - "src": "3527:17:23" - }, - { - "expression": { - "argumentTypes": null, - "id": 10190, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "3612:26:23", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10186, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10123, - "src": "3619:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage_ptr", - "typeString": "struct EnumerableSet.Set storage pointer" - } - }, - "id": 10187, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_indexes", - "nodeType": "MemberAccess", - "referencedDeclaration": 10080, - "src": "3619:12:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 10189, - "indexExpression": { - "argumentTypes": null, - "id": 10188, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10125, - "src": "3632:5:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3619:19:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10191, - "nodeType": "ExpressionStatement", - "src": "3612:26:23" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 10192, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3660:4:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 10129, - "id": 10193, - "nodeType": "Return", - "src": "3653:11:23" - } - ] - } - } - ] - }, - "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": 10200, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_remove", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10126, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10123, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10200, - "src": "2229:15:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage_ptr", - "typeString": "struct EnumerableSet.Set" - }, - "typeName": { - "contractScope": null, - "id": 10122, - "name": "Set", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10081, - "src": "2229:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage_ptr", - "typeString": "struct EnumerableSet.Set" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10125, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10200, - "src": "2246:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10124, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2246:7:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2228:32:23" - }, - "returnParameters": { - "id": 10129, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10128, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10200, - "src": "2278:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10127, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2278:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2277:6:23" - }, - "scope": 10542, - "src": "2212:1512:23", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 10216, - "nodeType": "Block", - "src": "3884:48:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10214, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10209, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10202, - "src": "3901:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage_ptr", - "typeString": "struct EnumerableSet.Set storage pointer" - } - }, - "id": 10210, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_indexes", - "nodeType": "MemberAccess", - "referencedDeclaration": 10080, - "src": "3901:12:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 10212, - "indexExpression": { - "argumentTypes": null, - "id": 10211, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10204, - "src": "3914:5:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3901:19:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 10213, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3924:1:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3901:24:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 10208, - "id": 10215, - "nodeType": "Return", - "src": "3894:31:23" - } - ] - }, - "documentation": "@dev Returns true if the value is in the set. O(1).", - "id": 10217, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_contains", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10205, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10202, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10217, - "src": "3824:15:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage_ptr", - "typeString": "struct EnumerableSet.Set" - }, - "typeName": { - "contractScope": null, - "id": 10201, - "name": "Set", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10081, - "src": "3824:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage_ptr", - "typeString": "struct EnumerableSet.Set" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10204, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10217, - "src": "3841:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10203, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3841:7:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3823:32:23" - }, - "returnParameters": { - "id": 10208, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10207, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10217, - "src": "3878:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10206, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3878:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3877:6:23" - }, - "scope": 10542, - "src": "3805:127:23", - "stateMutability": "view", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 10228, - "nodeType": "Block", - "src": "4078:42:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10224, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10219, - "src": "4095:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage_ptr", - "typeString": "struct EnumerableSet.Set storage pointer" - } - }, - "id": 10225, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_values", - "nodeType": "MemberAccess", - "referencedDeclaration": 10076, - "src": "4095:11:23", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", - "typeString": "bytes32[] storage ref" - } - }, - "id": 10226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4095:18:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 10223, - "id": 10227, - "nodeType": "Return", - "src": "4088:25:23" - } - ] - }, - "documentation": "@dev Returns the number of values on the set. O(1).", - "id": 10229, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_length", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10220, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10219, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10229, - "src": "4030:15:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage_ptr", - "typeString": "struct EnumerableSet.Set" - }, - "typeName": { - "contractScope": null, - "id": 10218, - "name": "Set", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10081, - "src": "4030:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage_ptr", - "typeString": "struct EnumerableSet.Set" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4029:17:23" - }, - "returnParameters": { - "id": 10223, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10222, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10229, - "src": "4069:7:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10221, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4069:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4068:9:23" - }, - "scope": 10542, - "src": "4013:107:23", - "stateMutability": "view", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 10252, - "nodeType": "Block", - "src": "4528:125:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10243, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10239, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10231, - "src": "4546:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage_ptr", - "typeString": "struct EnumerableSet.Set storage pointer" - } - }, - "id": 10240, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_values", - "nodeType": "MemberAccess", - "referencedDeclaration": 10076, - "src": "4546:11:23", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", - "typeString": "bytes32[] storage ref" - } - }, - "id": 10241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4546:18:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 10242, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10233, - "src": "4567:5:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4546:26:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "456e756d657261626c655365743a20696e646578206f7574206f6620626f756e6473", - "id": 10244, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4574:36:23", - "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": 10238, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4538:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 10245, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4538:73:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10246, - "nodeType": "ExpressionStatement", - "src": "4538:73:23" - }, - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10247, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10231, - "src": "4628:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage_ptr", - "typeString": "struct EnumerableSet.Set storage pointer" - } - }, - "id": 10248, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_values", - "nodeType": "MemberAccess", - "referencedDeclaration": 10076, - "src": "4628:11:23", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", - "typeString": "bytes32[] storage ref" - } - }, - "id": 10250, - "indexExpression": { - "argumentTypes": null, - "id": 10249, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10233, - "src": "4640:5:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4628:18:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 10237, - "id": 10251, - "nodeType": "Return", - "src": "4621:25:23" - } - ] - }, - "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": 10253, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_at", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10234, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10231, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10253, - "src": "4465:15:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage_ptr", - "typeString": "struct EnumerableSet.Set" - }, - "typeName": { - "contractScope": null, - "id": 10230, - "name": "Set", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10081, - "src": "4465:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage_ptr", - "typeString": "struct EnumerableSet.Set" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10233, - "name": "index", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10253, - "src": "4482:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10232, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4482:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4464:32:23" - }, - "returnParameters": { - "id": 10237, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10236, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10253, - "src": "4519:7:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10235, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4519:7:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4518:9:23" - }, - "scope": 10542, - "src": "4452:201:23", - "stateMutability": "view", - "virtual": false, - "visibility": "private" - }, - { - "canonicalName": "EnumerableSet.Bytes32Set", - "id": 10256, - "members": [ - { - "constant": false, - "id": 10255, - "name": "_inner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10256, - "src": "4706:10:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage_ptr", - "typeString": "struct EnumerableSet.Set" - }, - "typeName": { - "contractScope": null, - "id": 10254, - "name": "Set", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10081, - "src": "4706:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage_ptr", - "typeString": "struct EnumerableSet.Set" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Bytes32Set", - "nodeType": "StructDefinition", - "scope": 10542, - "src": "4678:45:23", - "visibility": "public" - }, - { - "body": { - "id": 10271, - "nodeType": "Block", - "src": "4969:47:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10266, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10258, - "src": "4991:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Set_$10256_storage_ptr", - "typeString": "struct EnumerableSet.Bytes32Set storage pointer" - } - }, - "id": 10267, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10255, - "src": "4991:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - }, - { - "argumentTypes": null, - "id": 10268, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10260, - "src": "5003:5:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Set_$10081_storage", - "typeString": "struct EnumerableSet.Set storage ref" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10265, - "name": "_add", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10121, - "src": "4986:4:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Set_$10081_storage_ptr_$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (struct EnumerableSet.Set storage pointer,bytes32) returns (bool)" - } - }, - "id": 10269, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4986:23:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 10264, - "id": 10270, - "nodeType": "Return", - "src": "4979:30:23" - } - ] - }, - "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": 10272, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "add", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10261, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10258, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10272, - "src": "4906:22:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Set_$10256_storage_ptr", - "typeString": "struct EnumerableSet.Bytes32Set" - }, - "typeName": { - "contractScope": null, - "id": 10257, - "name": "Bytes32Set", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10256, - "src": "4906:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Set_$10256_storage_ptr", - "typeString": "struct EnumerableSet.Bytes32Set" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10260, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10272, - "src": "4930:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10259, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4930:7:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4905:39:23" - }, - "returnParameters": { - "id": 10264, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10263, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10272, - "src": "4963:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10262, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4963:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4962:6:23" - }, - "scope": 10542, - "src": "4893:123:23", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10287, - "nodeType": "Block", - "src": "5263:50:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10282, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10274, - "src": "5288:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Set_$10256_storage_ptr", - "typeString": "struct EnumerableSet.Bytes32Set storage pointer" - } - }, - "id": 10283, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10255, - "src": "5288:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - }, - { - "argumentTypes": null, - "id": 10284, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10276, - "src": "5300:5:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Set_$10081_storage", - "typeString": "struct EnumerableSet.Set storage ref" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10281, - "name": "_remove", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10200, - "src": "5280:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Set_$10081_storage_ptr_$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (struct EnumerableSet.Set storage pointer,bytes32) returns (bool)" - } - }, - "id": 10285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5280:26:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 10280, - "id": 10286, - "nodeType": "Return", - "src": "5273:33:23" - } - ] - }, - "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": 10288, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "remove", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10277, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10274, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10288, - "src": "5200:22:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Set_$10256_storage_ptr", - "typeString": "struct EnumerableSet.Bytes32Set" - }, - "typeName": { - "contractScope": null, - "id": 10273, - "name": "Bytes32Set", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10256, - "src": "5200:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Set_$10256_storage_ptr", - "typeString": "struct EnumerableSet.Bytes32Set" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10276, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10288, - "src": "5224:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10275, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5224:7:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5199:39:23" - }, - "returnParameters": { - "id": 10280, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10279, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10288, - "src": "5257:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10278, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5257:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5256:6:23" - }, - "scope": 10542, - "src": "5184:129:23", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10303, - "nodeType": "Block", - "src": "5480:52:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10298, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10290, - "src": "5507:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Set_$10256_storage_ptr", - "typeString": "struct EnumerableSet.Bytes32Set storage pointer" - } - }, - "id": 10299, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10255, - "src": "5507:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - }, - { - "argumentTypes": null, - "id": 10300, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10292, - "src": "5519:5:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Set_$10081_storage", - "typeString": "struct EnumerableSet.Set storage ref" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10297, - "name": "_contains", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10217, - "src": "5497:9:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Set_$10081_storage_ptr_$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (struct EnumerableSet.Set storage pointer,bytes32) view returns (bool)" - } - }, - "id": 10301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5497:28:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 10296, - "id": 10302, - "nodeType": "Return", - "src": "5490:35:23" - } - ] - }, - "documentation": "@dev Returns true if the value is in the set. O(1).", - "id": 10304, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "contains", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10293, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10290, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10304, - "src": "5412:22:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Set_$10256_storage_ptr", - "typeString": "struct EnumerableSet.Bytes32Set" - }, - "typeName": { - "contractScope": null, - "id": 10289, - "name": "Bytes32Set", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10256, - "src": "5412:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Set_$10256_storage_ptr", - "typeString": "struct EnumerableSet.Bytes32Set" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10292, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10304, - "src": "5436:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10291, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5436:7:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5411:39:23" - }, - "returnParameters": { - "id": 10296, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10295, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10304, - "src": "5474:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10294, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5474:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5473:6:23" - }, - "scope": 10542, - "src": "5394:138:23", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10316, - "nodeType": "Block", - "src": "5685:43:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10312, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10306, - "src": "5710:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Set_$10256_storage_ptr", - "typeString": "struct EnumerableSet.Bytes32Set storage pointer" - } - }, - "id": 10313, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10255, - "src": "5710:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Set_$10081_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - ], - "id": 10311, - "name": "_length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10229, - "src": "5702:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Set_$10081_storage_ptr_$returns$_t_uint256_$", - "typeString": "function (struct EnumerableSet.Set storage pointer) view returns (uint256)" - } - }, - "id": 10314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5702:19:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 10310, - "id": 10315, - "nodeType": "Return", - "src": "5695:26:23" - } - ] - }, - "documentation": "@dev Returns the number of values in the set. O(1).", - "id": 10317, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "length", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10307, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10306, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10317, - "src": "5629:22:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Set_$10256_storage_ptr", - "typeString": "struct EnumerableSet.Bytes32Set" - }, - "typeName": { - "contractScope": null, - "id": 10305, - "name": "Bytes32Set", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10256, - "src": "5629:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Set_$10256_storage_ptr", - "typeString": "struct EnumerableSet.Bytes32Set" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5628:24:23" - }, - "returnParameters": { - "id": 10310, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10309, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10317, - "src": "5676:7:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10308, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5676:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5675:9:23" - }, - "scope": 10542, - "src": "5613:115:23", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10332, - "nodeType": "Block", - "src": "6143:46:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10327, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10319, - "src": "6164:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Set_$10256_storage_ptr", - "typeString": "struct EnumerableSet.Bytes32Set storage pointer" - } - }, - "id": 10328, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10255, - "src": "6164:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - }, - { - "argumentTypes": null, - "id": 10329, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10321, - "src": "6176:5:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Set_$10081_storage", - "typeString": "struct EnumerableSet.Set storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10326, - "name": "_at", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10253, - "src": "6160:3:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Set_$10081_storage_ptr_$_t_uint256_$returns$_t_bytes32_$", - "typeString": "function (struct EnumerableSet.Set storage pointer,uint256) view returns (bytes32)" - } - }, - "id": 10330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6160:22:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 10325, - "id": 10331, - "nodeType": "Return", - "src": "6153:29:23" - } - ] - }, - "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": 10333, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "at", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10322, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10319, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10333, - "src": "6072:22:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Set_$10256_storage_ptr", - "typeString": "struct EnumerableSet.Bytes32Set" - }, - "typeName": { - "contractScope": null, - "id": 10318, - "name": "Bytes32Set", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10256, - "src": "6072:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Set_$10256_storage_ptr", - "typeString": "struct EnumerableSet.Bytes32Set" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10321, - "name": "index", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10333, - "src": "6096:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10320, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6096:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6071:39:23" - }, - "returnParameters": { - "id": 10325, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10324, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10333, - "src": "6134:7:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10323, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6134:7:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6133:9:23" - }, - "scope": 10542, - "src": "6060:129:23", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "canonicalName": "EnumerableSet.AddressSet", - "id": 10336, - "members": [ - { - "constant": false, - "id": 10335, - "name": "_inner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10336, - "src": "6242:10:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage_ptr", - "typeString": "struct EnumerableSet.Set" - }, - "typeName": { - "contractScope": null, - "id": 10334, - "name": "Set", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10081, - "src": "6242:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage_ptr", - "typeString": "struct EnumerableSet.Set" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "AddressSet", - "nodeType": "StructDefinition", - "scope": 10542, - "src": "6214:45:23", - "visibility": "public" - }, - { - "body": { - "id": 10360, - "nodeType": "Block", - "src": "6505:74:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10346, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10338, - "src": "6527:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSet_$10336_storage_ptr", - "typeString": "struct EnumerableSet.AddressSet storage pointer" - } - }, - "id": 10347, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10335, - "src": "6527:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10354, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10340, - "src": "6563:5:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 10353, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6555:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 10352, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "6555:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6555:14:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 10351, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6547:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 10350, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6547:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10356, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6547:23:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10349, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6539:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 10348, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6539:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10357, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6539:32:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Set_$10081_storage", - "typeString": "struct EnumerableSet.Set storage ref" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10345, - "name": "_add", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10121, - "src": "6522:4:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Set_$10081_storage_ptr_$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (struct EnumerableSet.Set storage pointer,bytes32) returns (bool)" - } - }, - "id": 10358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6522:50:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 10344, - "id": 10359, - "nodeType": "Return", - "src": "6515:57:23" - } - ] - }, - "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": 10361, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "add", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10341, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10338, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10361, - "src": "6442:22:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSet_$10336_storage_ptr", - "typeString": "struct EnumerableSet.AddressSet" - }, - "typeName": { - "contractScope": null, - "id": 10337, - "name": "AddressSet", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10336, - "src": "6442:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSet_$10336_storage_ptr", - "typeString": "struct EnumerableSet.AddressSet" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10340, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10361, - "src": "6466:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10339, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6466:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6441:39:23" - }, - "returnParameters": { - "id": 10344, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10343, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10361, - "src": "6499:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10342, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6499:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6498:6:23" - }, - "scope": 10542, - "src": "6429:150:23", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10385, - "nodeType": "Block", - "src": "6826:77:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10371, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10363, - "src": "6851:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSet_$10336_storage_ptr", - "typeString": "struct EnumerableSet.AddressSet storage pointer" - } - }, - "id": 10372, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10335, - "src": "6851:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10379, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10365, - "src": "6887:5:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 10378, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6879:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 10377, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "6879:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10380, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6879:14:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 10376, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6871:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 10375, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6871:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6871:23:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10374, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6863:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 10373, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6863:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6863:32:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Set_$10081_storage", - "typeString": "struct EnumerableSet.Set storage ref" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10370, - "name": "_remove", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10200, - "src": "6843:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Set_$10081_storage_ptr_$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (struct EnumerableSet.Set storage pointer,bytes32) returns (bool)" - } - }, - "id": 10383, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6843:53:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 10369, - "id": 10384, - "nodeType": "Return", - "src": "6836:60:23" - } - ] - }, - "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": 10386, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "remove", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10366, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10363, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10386, - "src": "6763:22:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSet_$10336_storage_ptr", - "typeString": "struct EnumerableSet.AddressSet" - }, - "typeName": { - "contractScope": null, - "id": 10362, - "name": "AddressSet", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10336, - "src": "6763:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSet_$10336_storage_ptr", - "typeString": "struct EnumerableSet.AddressSet" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10365, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10386, - "src": "6787:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10364, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6787:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6762:39:23" - }, - "returnParameters": { - "id": 10369, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10368, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10386, - "src": "6820:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10367, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6820:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6819:6:23" - }, - "scope": 10542, - "src": "6747:156:23", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10410, - "nodeType": "Block", - "src": "7070:79:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10396, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10388, - "src": "7097:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSet_$10336_storage_ptr", - "typeString": "struct EnumerableSet.AddressSet storage pointer" - } - }, - "id": 10397, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10335, - "src": "7097:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10404, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10390, - "src": "7133:5:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 10403, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7125:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 10402, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "7125:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10405, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7125:14:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 10401, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7117:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 10400, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7117:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7117:23:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10399, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7109:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 10398, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7109:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10407, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7109:32:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Set_$10081_storage", - "typeString": "struct EnumerableSet.Set storage ref" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10395, - "name": "_contains", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10217, - "src": "7087:9:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Set_$10081_storage_ptr_$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (struct EnumerableSet.Set storage pointer,bytes32) view returns (bool)" - } - }, - "id": 10408, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7087:55:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 10394, - "id": 10409, - "nodeType": "Return", - "src": "7080:62:23" - } - ] - }, - "documentation": "@dev Returns true if the value is in the set. O(1).", - "id": 10411, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "contains", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10391, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10388, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10411, - "src": "7002:22:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSet_$10336_storage_ptr", - "typeString": "struct EnumerableSet.AddressSet" - }, - "typeName": { - "contractScope": null, - "id": 10387, - "name": "AddressSet", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10336, - "src": "7002:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSet_$10336_storage_ptr", - "typeString": "struct EnumerableSet.AddressSet" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10390, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10411, - "src": "7026:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10389, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7026:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7001:39:23" - }, - "returnParameters": { - "id": 10394, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10393, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10411, - "src": "7064:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10392, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7064:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7063:6:23" - }, - "scope": 10542, - "src": "6984:165:23", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10423, - "nodeType": "Block", - "src": "7302:43:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10419, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10413, - "src": "7327:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSet_$10336_storage_ptr", - "typeString": "struct EnumerableSet.AddressSet storage pointer" - } - }, - "id": 10420, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10335, - "src": "7327:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Set_$10081_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - ], - "id": 10418, - "name": "_length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10229, - "src": "7319:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Set_$10081_storage_ptr_$returns$_t_uint256_$", - "typeString": "function (struct EnumerableSet.Set storage pointer) view returns (uint256)" - } - }, - "id": 10421, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7319:19:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 10417, - "id": 10422, - "nodeType": "Return", - "src": "7312:26:23" - } - ] - }, - "documentation": "@dev Returns the number of values in the set. O(1).", - "id": 10424, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "length", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10414, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10413, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10424, - "src": "7246:22:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSet_$10336_storage_ptr", - "typeString": "struct EnumerableSet.AddressSet" - }, - "typeName": { - "contractScope": null, - "id": 10412, - "name": "AddressSet", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10336, - "src": "7246:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSet_$10336_storage_ptr", - "typeString": "struct EnumerableSet.AddressSet" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7245:24:23" - }, - "returnParameters": { - "id": 10417, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10416, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10424, - "src": "7293:7:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10415, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7293:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7292:9:23" - }, - "scope": 10542, - "src": "7230:115:23", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10448, - "nodeType": "Block", - "src": "7760:73:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10440, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10426, - "src": "7805:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSet_$10336_storage_ptr", - "typeString": "struct EnumerableSet.AddressSet storage pointer" - } - }, - "id": 10441, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10335, - "src": "7805:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - }, - { - "argumentTypes": null, - "id": 10442, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10428, - "src": "7817:5:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Set_$10081_storage", - "typeString": "struct EnumerableSet.Set storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10439, - "name": "_at", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10253, - "src": "7801:3:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Set_$10081_storage_ptr_$_t_uint256_$returns$_t_bytes32_$", - "typeString": "function (struct EnumerableSet.Set storage pointer,uint256) view returns (bytes32)" - } - }, - "id": 10443, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7801:22:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10438, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7793:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 10437, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7793:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10444, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7793:31:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10436, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7785:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 10435, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "7785:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10445, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7785:40:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 10434, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7777:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 10433, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7777:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10446, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7777:49:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "functionReturnParameters": 10432, - "id": 10447, - "nodeType": "Return", - "src": "7770:56:23" - } - ] - }, - "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": 10449, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "at", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10429, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10426, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10449, - "src": "7689:22:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSet_$10336_storage_ptr", - "typeString": "struct EnumerableSet.AddressSet" - }, - "typeName": { - "contractScope": null, - "id": 10425, - "name": "AddressSet", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10336, - "src": "7689:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSet_$10336_storage_ptr", - "typeString": "struct EnumerableSet.AddressSet" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10428, - "name": "index", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10449, - "src": "7713:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10427, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7713:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7688:39:23" - }, - "returnParameters": { - "id": 10432, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10431, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10449, - "src": "7751:7:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10430, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7751:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7750:9:23" - }, - "scope": 10542, - "src": "7677:156:23", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "canonicalName": "EnumerableSet.UintSet", - "id": 10452, - "members": [ - { - "constant": false, - "id": 10451, - "name": "_inner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10452, - "src": "7881:10:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage_ptr", - "typeString": "struct EnumerableSet.Set" - }, - "typeName": { - "contractScope": null, - "id": 10450, - "name": "Set", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10081, - "src": "7881:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage_ptr", - "typeString": "struct EnumerableSet.Set" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "UintSet", - "nodeType": "StructDefinition", - "scope": 10542, - "src": "7856:42:23", - "visibility": "public" - }, - { - "body": { - "id": 10470, - "nodeType": "Block", - "src": "8141:56:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10462, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10454, - "src": "8163:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10452_storage_ptr", - "typeString": "struct EnumerableSet.UintSet storage pointer" - } - }, - "id": 10463, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10451, - "src": "8163:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10466, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10456, - "src": "8183:5:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10465, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8175:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 10464, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "8175:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8175:14:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Set_$10081_storage", - "typeString": "struct EnumerableSet.Set storage ref" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10461, - "name": "_add", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10121, - "src": "8158:4:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Set_$10081_storage_ptr_$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (struct EnumerableSet.Set storage pointer,bytes32) returns (bool)" - } - }, - "id": 10468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8158:32:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 10460, - "id": 10469, - "nodeType": "Return", - "src": "8151:39:23" - } - ] - }, - "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": 10471, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "add", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10457, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10454, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10471, - "src": "8081:19:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10452_storage_ptr", - "typeString": "struct EnumerableSet.UintSet" - }, - "typeName": { - "contractScope": null, - "id": 10453, - "name": "UintSet", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10452, - "src": "8081:7:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10452_storage_ptr", - "typeString": "struct EnumerableSet.UintSet" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10456, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10471, - "src": "8102:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10455, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8102:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8080:36:23" - }, - "returnParameters": { - "id": 10460, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10459, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10471, - "src": "8135:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10458, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8135:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8134:6:23" - }, - "scope": 10542, - "src": "8068:129:23", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10489, - "nodeType": "Block", - "src": "8441:59:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10481, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10473, - "src": "8466:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10452_storage_ptr", - "typeString": "struct EnumerableSet.UintSet storage pointer" - } - }, - "id": 10482, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10451, - "src": "8466:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10485, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10475, - "src": "8486:5:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10484, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8478:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 10483, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "8478:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10486, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8478:14:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Set_$10081_storage", - "typeString": "struct EnumerableSet.Set storage ref" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10480, - "name": "_remove", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10200, - "src": "8458:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Set_$10081_storage_ptr_$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (struct EnumerableSet.Set storage pointer,bytes32) returns (bool)" - } - }, - "id": 10487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8458:35:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 10479, - "id": 10488, - "nodeType": "Return", - "src": "8451:42:23" - } - ] - }, - "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": 10490, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "remove", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10476, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10473, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10490, - "src": "8381:19:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10452_storage_ptr", - "typeString": "struct EnumerableSet.UintSet" - }, - "typeName": { - "contractScope": null, - "id": 10472, - "name": "UintSet", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10452, - "src": "8381:7:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10452_storage_ptr", - "typeString": "struct EnumerableSet.UintSet" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10475, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10490, - "src": "8402:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10474, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8402:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8380:36:23" - }, - "returnParameters": { - "id": 10479, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10478, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10490, - "src": "8435:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10477, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8435:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8434:6:23" - }, - "scope": 10542, - "src": "8365:135:23", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10508, - "nodeType": "Block", - "src": "8664:61:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10500, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10492, - "src": "8691:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10452_storage_ptr", - "typeString": "struct EnumerableSet.UintSet storage pointer" - } - }, - "id": 10501, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10451, - "src": "8691:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10504, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10494, - "src": "8711:5:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10503, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8703:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 10502, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "8703:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10505, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8703:14:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Set_$10081_storage", - "typeString": "struct EnumerableSet.Set storage ref" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10499, - "name": "_contains", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10217, - "src": "8681:9:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Set_$10081_storage_ptr_$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (struct EnumerableSet.Set storage pointer,bytes32) view returns (bool)" - } - }, - "id": 10506, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8681:37:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 10498, - "id": 10507, - "nodeType": "Return", - "src": "8674:44:23" - } - ] - }, - "documentation": "@dev Returns true if the value is in the set. O(1).", - "id": 10509, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "contains", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10495, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10492, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10509, - "src": "8599:19:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10452_storage_ptr", - "typeString": "struct EnumerableSet.UintSet" - }, - "typeName": { - "contractScope": null, - "id": 10491, - "name": "UintSet", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10452, - "src": "8599:7:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10452_storage_ptr", - "typeString": "struct EnumerableSet.UintSet" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10494, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10509, - "src": "8620:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10493, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8620:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8598:36:23" - }, - "returnParameters": { - "id": 10498, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10497, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10509, - "src": "8658:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10496, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8658:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8657:6:23" - }, - "scope": 10542, - "src": "8581:144:23", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10521, - "nodeType": "Block", - "src": "8875:43:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10517, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10511, - "src": "8900:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10452_storage_ptr", - "typeString": "struct EnumerableSet.UintSet storage pointer" - } - }, - "id": 10518, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10451, - "src": "8900:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Set_$10081_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - ], - "id": 10516, - "name": "_length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10229, - "src": "8892:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Set_$10081_storage_ptr_$returns$_t_uint256_$", - "typeString": "function (struct EnumerableSet.Set storage pointer) view returns (uint256)" - } - }, - "id": 10519, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8892:19:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 10515, - "id": 10520, - "nodeType": "Return", - "src": "8885:26:23" - } - ] - }, - "documentation": "@dev Returns the number of values on the set. O(1).", - "id": 10522, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "length", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10512, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10511, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10522, - "src": "8822:19:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10452_storage_ptr", - "typeString": "struct EnumerableSet.UintSet" - }, - "typeName": { - "contractScope": null, - "id": 10510, - "name": "UintSet", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10452, - "src": "8822:7:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10452_storage_ptr", - "typeString": "struct EnumerableSet.UintSet" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8821:21:23" - }, - "returnParameters": { - "id": 10515, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10514, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10522, - "src": "8866:7:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10513, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8866:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8865:9:23" - }, - "scope": 10542, - "src": "8806:112:23", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10540, - "nodeType": "Block", - "src": "9330:55:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10534, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10524, - "src": "9359:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10452_storage_ptr", - "typeString": "struct EnumerableSet.UintSet storage pointer" - } - }, - "id": 10535, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10451, - "src": "9359:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - }, - { - "argumentTypes": null, - "id": 10536, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10526, - "src": "9371:5:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Set_$10081_storage", - "typeString": "struct EnumerableSet.Set storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10533, - "name": "_at", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10253, - "src": "9355:3:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Set_$10081_storage_ptr_$_t_uint256_$returns$_t_bytes32_$", - "typeString": "function (struct EnumerableSet.Set storage pointer,uint256) view returns (bytes32)" - } - }, - "id": 10537, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9355:22:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10532, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9347:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 10531, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9347:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9347:31:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 10530, - "id": 10539, - "nodeType": "Return", - "src": "9340:38:23" - } - ] - }, - "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": 10541, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "at", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10527, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10524, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10541, - "src": "9262:19:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10452_storage_ptr", - "typeString": "struct EnumerableSet.UintSet" - }, - "typeName": { - "contractScope": null, - "id": 10523, - "name": "UintSet", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10452, - "src": "9262:7:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10452_storage_ptr", - "typeString": "struct EnumerableSet.UintSet" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10526, - "name": "index", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10541, - "src": "9283:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10525, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9283:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9261:36:23" - }, - "returnParameters": { - "id": 10530, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10529, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10541, - "src": "9321:7:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10528, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9321:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9320:9:23" - }, - "scope": 10542, - "src": "9250:135:23", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 10543, - "src": "753:8634:23" - } - ], - "src": "33:9355:23" - }, - "legacyAST": { - "absolutePath": "@openzeppelin/contracts/utils/EnumerableSet.sol", - "exportedSymbols": { - "EnumerableSet": [ - 10542 - ] - }, - "id": 10543, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 10073, - "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\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": 10542, - "linearizedBaseContracts": [ - 10542 - ], - "name": "EnumerableSet", - "nodeType": "ContractDefinition", - "nodes": [ - { - "canonicalName": "EnumerableSet.Set", - "id": 10081, - "members": [ - { - "constant": false, - "id": 10076, - "name": "_values", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10081, - "src": "1275:17:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", - "typeString": "bytes32[]" - }, - "typeName": { - "baseType": { - "id": 10074, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1275:7:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 10075, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1275:9:23", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", - "typeString": "bytes32[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10080, - "name": "_indexes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10081, - "src": "1426:37:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - }, - "typeName": { - "id": 10079, - "keyType": { - "id": 10077, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1435:7:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Mapping", - "src": "1426:28:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - }, - "valueType": { - "id": 10078, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1446:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Set", - "nodeType": "StructDefinition", - "scope": 10542, - "src": "1221:249:23", - "visibility": "public" - }, - { - "body": { - "id": 10120, - "nodeType": "Block", - "src": "1709:335:23", - "statements": [ - { - "condition": { - "argumentTypes": null, - "id": 10094, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "1723:22:23", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10091, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10083, - "src": "1734:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage_ptr", - "typeString": "struct EnumerableSet.Set storage pointer" - } - }, - { - "argumentTypes": null, - "id": 10092, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10085, - "src": "1739:5:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Set_$10081_storage_ptr", - "typeString": "struct EnumerableSet.Set storage pointer" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10090, - "name": "_contains", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10217, - "src": "1724:9:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Set_$10081_storage_ptr_$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (struct EnumerableSet.Set storage pointer,bytes32) view returns (bool)" - } - }, - "id": 10093, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1724:21:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 10118, - "nodeType": "Block", - "src": "2001:37:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 10116, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2022:5:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 10089, - "id": 10117, - "nodeType": "Return", - "src": "2015:12:23" - } - ] - }, - "id": 10119, - "nodeType": "IfStatement", - "src": "1719:319:23", - "trueBody": { - "id": 10115, - "nodeType": "Block", - "src": "1747:248:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10100, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10085, - "src": "1778:5:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10095, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10083, - "src": "1761:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage_ptr", - "typeString": "struct EnumerableSet.Set storage pointer" - } - }, - "id": 10098, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_values", - "nodeType": "MemberAccess", - "referencedDeclaration": 10076, - "src": "1761:11:23", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", - "typeString": "bytes32[] storage ref" - } - }, - "id": 10099, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1761:16:23", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$__$", - "typeString": "function (bytes32)" - } - }, - "id": 10101, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1761:23:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10102, - "nodeType": "ExpressionStatement", - "src": "1761:23:23" - }, - { - "expression": { - "argumentTypes": null, - "id": 10111, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10103, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10083, - "src": "1919:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage_ptr", - "typeString": "struct EnumerableSet.Set storage pointer" - } - }, - "id": 10106, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_indexes", - "nodeType": "MemberAccess", - "referencedDeclaration": 10080, - "src": "1919:12:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 10107, - "indexExpression": { - "argumentTypes": null, - "id": 10105, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10085, - "src": "1932:5:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1919:19:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10108, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10083, - "src": "1941:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage_ptr", - "typeString": "struct EnumerableSet.Set storage pointer" - } - }, - "id": 10109, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_values", - "nodeType": "MemberAccess", - "referencedDeclaration": 10076, - "src": "1941:11:23", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", - "typeString": "bytes32[] storage ref" - } - }, - "id": 10110, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1941:18:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1919:40:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10112, - "nodeType": "ExpressionStatement", - "src": "1919:40:23" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 10113, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1980:4:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 10089, - "id": 10114, - "nodeType": "Return", - "src": "1973:11:23" - } - ] - } - } - ] - }, - "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": 10121, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_add", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10086, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10083, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10121, - "src": "1654:15:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage_ptr", - "typeString": "struct EnumerableSet.Set" - }, - "typeName": { - "contractScope": null, - "id": 10082, - "name": "Set", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10081, - "src": "1654:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage_ptr", - "typeString": "struct EnumerableSet.Set" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10085, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10121, - "src": "1671:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10084, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1671:7:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1653:32:23" - }, - "returnParameters": { - "id": 10089, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10088, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10121, - "src": "1703:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10087, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1703:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1702:6:23" - }, - "scope": 10542, - "src": "1640:404:23", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 10199, - "nodeType": "Block", - "src": "2284:1440:23", - "statements": [ - { - "assignments": [ - 10131 - ], - "declarations": [ - { - "constant": false, - "id": 10131, - "name": "valueIndex", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10199, - "src": "2394:18:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10130, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2394:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10136, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10132, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10123, - "src": "2415:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage_ptr", - "typeString": "struct EnumerableSet.Set storage pointer" - } - }, - "id": 10133, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_indexes", - "nodeType": "MemberAccess", - "referencedDeclaration": 10080, - "src": "2415:12:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 10135, - "indexExpression": { - "argumentTypes": null, - "id": 10134, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10125, - "src": "2428:5:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2415:19:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2394:40:23" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10139, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10137, - "name": "valueIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10131, - "src": "2449:10:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 10138, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2463:1:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2449:15:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 10197, - "nodeType": "Block", - "src": "3681:37:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 10195, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3702:5:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 10129, - "id": 10196, - "nodeType": "Return", - "src": "3695:12:23" - } - ] - }, - "id": 10198, - "nodeType": "IfStatement", - "src": "2445:1273:23", - "trueBody": { - "id": 10194, - "nodeType": "Block", - "src": "2466:1209:23", - "statements": [ - { - "assignments": [ - 10141 - ], - "declarations": [ - { - "constant": false, - "id": 10141, - "name": "toDeleteIndex", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10194, - "src": "2806:21:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10140, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2806:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10145, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10142, - "name": "valueIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10131, - "src": "2830:10:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 10143, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2843:1:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "2830:14:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2806:38:23" - }, - { - "assignments": [ - 10147 - ], - "declarations": [ - { - "constant": false, - "id": 10147, - "name": "lastIndex", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10194, - "src": "2858:17:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10146, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2858:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10153, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10148, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10123, - "src": "2878:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage_ptr", - "typeString": "struct EnumerableSet.Set storage pointer" - } - }, - "id": 10149, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_values", - "nodeType": "MemberAccess", - "referencedDeclaration": 10076, - "src": "2878:11:23", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", - "typeString": "bytes32[] storage ref" - } - }, - "id": 10150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2878:18:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 10151, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2899:1:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "2878:22:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2858:42:23" - }, - { - "assignments": [ - 10155 - ], - "declarations": [ - { - "constant": false, - "id": 10155, - "name": "lastvalue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10194, - "src": "3140:17:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10154, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3140:7:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10160, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10156, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10123, - "src": "3160:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage_ptr", - "typeString": "struct EnumerableSet.Set storage pointer" - } - }, - "id": 10157, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_values", - "nodeType": "MemberAccess", - "referencedDeclaration": 10076, - "src": "3160:11:23", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", - "typeString": "bytes32[] storage ref" - } - }, - "id": 10159, - "indexExpression": { - "argumentTypes": null, - "id": 10158, - "name": "lastIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10147, - "src": "3172:9:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3160:22:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3140:42:23" - }, - { - "expression": { - "argumentTypes": null, - "id": 10167, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10161, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10123, - "src": "3274:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage_ptr", - "typeString": "struct EnumerableSet.Set storage pointer" - } - }, - "id": 10164, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_values", - "nodeType": "MemberAccess", - "referencedDeclaration": 10076, - "src": "3274:11:23", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", - "typeString": "bytes32[] storage ref" - } - }, - "id": 10165, - "indexExpression": { - "argumentTypes": null, - "id": 10163, - "name": "toDeleteIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10141, - "src": "3286:13:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3274:26:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 10166, - "name": "lastvalue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10155, - "src": "3303:9:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "3274:38:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 10168, - "nodeType": "ExpressionStatement", - "src": "3274:38:23" - }, - { - "expression": { - "argumentTypes": null, - "id": 10177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10169, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10123, - "src": "3378:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage_ptr", - "typeString": "struct EnumerableSet.Set storage pointer" - } - }, - "id": 10172, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_indexes", - "nodeType": "MemberAccess", - "referencedDeclaration": 10080, - "src": "3378:12:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 10173, - "indexExpression": { - "argumentTypes": null, - "id": 10171, - "name": "lastvalue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10155, - "src": "3391:9:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3378:23:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10176, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10174, - "name": "toDeleteIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10141, - "src": "3404:13:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 10175, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3420:1:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3404:17:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3378:43:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10178, - "nodeType": "ExpressionStatement", - "src": "3378:43:23" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10179, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10123, - "src": "3527:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage_ptr", - "typeString": "struct EnumerableSet.Set storage pointer" - } - }, - "id": 10182, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_values", - "nodeType": "MemberAccess", - "referencedDeclaration": 10076, - "src": "3527:11:23", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", - "typeString": "bytes32[] storage ref" - } - }, - "id": 10183, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "pop", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3527:15:23", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypop_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 10184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3527:17:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10185, - "nodeType": "ExpressionStatement", - "src": "3527:17:23" - }, - { - "expression": { - "argumentTypes": null, - "id": 10190, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "3612:26:23", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10186, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10123, - "src": "3619:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage_ptr", - "typeString": "struct EnumerableSet.Set storage pointer" - } - }, - "id": 10187, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_indexes", - "nodeType": "MemberAccess", - "referencedDeclaration": 10080, - "src": "3619:12:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 10189, - "indexExpression": { - "argumentTypes": null, - "id": 10188, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10125, - "src": "3632:5:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3619:19:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10191, - "nodeType": "ExpressionStatement", - "src": "3612:26:23" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 10192, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3660:4:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 10129, - "id": 10193, - "nodeType": "Return", - "src": "3653:11:23" - } - ] - } - } - ] - }, - "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": 10200, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_remove", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10126, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10123, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10200, - "src": "2229:15:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage_ptr", - "typeString": "struct EnumerableSet.Set" - }, - "typeName": { - "contractScope": null, - "id": 10122, - "name": "Set", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10081, - "src": "2229:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage_ptr", - "typeString": "struct EnumerableSet.Set" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10125, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10200, - "src": "2246:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10124, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2246:7:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2228:32:23" - }, - "returnParameters": { - "id": 10129, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10128, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10200, - "src": "2278:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10127, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2278:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2277:6:23" - }, - "scope": 10542, - "src": "2212:1512:23", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 10216, - "nodeType": "Block", - "src": "3884:48:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10214, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10209, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10202, - "src": "3901:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage_ptr", - "typeString": "struct EnumerableSet.Set storage pointer" - } - }, - "id": 10210, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_indexes", - "nodeType": "MemberAccess", - "referencedDeclaration": 10080, - "src": "3901:12:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 10212, - "indexExpression": { - "argumentTypes": null, - "id": 10211, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10204, - "src": "3914:5:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3901:19:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 10213, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3924:1:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3901:24:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 10208, - "id": 10215, - "nodeType": "Return", - "src": "3894:31:23" - } - ] - }, - "documentation": "@dev Returns true if the value is in the set. O(1).", - "id": 10217, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_contains", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10205, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10202, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10217, - "src": "3824:15:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage_ptr", - "typeString": "struct EnumerableSet.Set" - }, - "typeName": { - "contractScope": null, - "id": 10201, - "name": "Set", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10081, - "src": "3824:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage_ptr", - "typeString": "struct EnumerableSet.Set" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10204, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10217, - "src": "3841:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10203, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3841:7:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3823:32:23" - }, - "returnParameters": { - "id": 10208, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10207, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10217, - "src": "3878:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10206, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3878:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3877:6:23" - }, - "scope": 10542, - "src": "3805:127:23", - "stateMutability": "view", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 10228, - "nodeType": "Block", - "src": "4078:42:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10224, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10219, - "src": "4095:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage_ptr", - "typeString": "struct EnumerableSet.Set storage pointer" - } - }, - "id": 10225, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_values", - "nodeType": "MemberAccess", - "referencedDeclaration": 10076, - "src": "4095:11:23", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", - "typeString": "bytes32[] storage ref" - } - }, - "id": 10226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4095:18:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 10223, - "id": 10227, - "nodeType": "Return", - "src": "4088:25:23" - } - ] - }, - "documentation": "@dev Returns the number of values on the set. O(1).", - "id": 10229, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_length", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10220, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10219, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10229, - "src": "4030:15:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage_ptr", - "typeString": "struct EnumerableSet.Set" - }, - "typeName": { - "contractScope": null, - "id": 10218, - "name": "Set", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10081, - "src": "4030:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage_ptr", - "typeString": "struct EnumerableSet.Set" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4029:17:23" - }, - "returnParameters": { - "id": 10223, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10222, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10229, - "src": "4069:7:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10221, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4069:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4068:9:23" - }, - "scope": 10542, - "src": "4013:107:23", - "stateMutability": "view", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 10252, - "nodeType": "Block", - "src": "4528:125:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10243, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10239, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10231, - "src": "4546:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage_ptr", - "typeString": "struct EnumerableSet.Set storage pointer" - } - }, - "id": 10240, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_values", - "nodeType": "MemberAccess", - "referencedDeclaration": 10076, - "src": "4546:11:23", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", - "typeString": "bytes32[] storage ref" - } - }, - "id": 10241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4546:18:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 10242, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10233, - "src": "4567:5:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4546:26:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "456e756d657261626c655365743a20696e646578206f7574206f6620626f756e6473", - "id": 10244, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4574:36:23", - "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": 10238, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4538:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 10245, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4538:73:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10246, - "nodeType": "ExpressionStatement", - "src": "4538:73:23" - }, - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10247, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10231, - "src": "4628:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage_ptr", - "typeString": "struct EnumerableSet.Set storage pointer" - } - }, - "id": 10248, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_values", - "nodeType": "MemberAccess", - "referencedDeclaration": 10076, - "src": "4628:11:23", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", - "typeString": "bytes32[] storage ref" - } - }, - "id": 10250, - "indexExpression": { - "argumentTypes": null, - "id": 10249, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10233, - "src": "4640:5:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4628:18:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 10237, - "id": 10251, - "nodeType": "Return", - "src": "4621:25:23" - } - ] - }, - "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": 10253, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_at", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10234, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10231, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10253, - "src": "4465:15:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage_ptr", - "typeString": "struct EnumerableSet.Set" - }, - "typeName": { - "contractScope": null, - "id": 10230, - "name": "Set", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10081, - "src": "4465:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage_ptr", - "typeString": "struct EnumerableSet.Set" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10233, - "name": "index", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10253, - "src": "4482:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10232, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4482:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4464:32:23" - }, - "returnParameters": { - "id": 10237, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10236, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10253, - "src": "4519:7:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10235, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4519:7:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4518:9:23" - }, - "scope": 10542, - "src": "4452:201:23", - "stateMutability": "view", - "virtual": false, - "visibility": "private" - }, - { - "canonicalName": "EnumerableSet.Bytes32Set", - "id": 10256, - "members": [ - { - "constant": false, - "id": 10255, - "name": "_inner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10256, - "src": "4706:10:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage_ptr", - "typeString": "struct EnumerableSet.Set" - }, - "typeName": { - "contractScope": null, - "id": 10254, - "name": "Set", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10081, - "src": "4706:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage_ptr", - "typeString": "struct EnumerableSet.Set" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Bytes32Set", - "nodeType": "StructDefinition", - "scope": 10542, - "src": "4678:45:23", - "visibility": "public" - }, - { - "body": { - "id": 10271, - "nodeType": "Block", - "src": "4969:47:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10266, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10258, - "src": "4991:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Set_$10256_storage_ptr", - "typeString": "struct EnumerableSet.Bytes32Set storage pointer" - } - }, - "id": 10267, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10255, - "src": "4991:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - }, - { - "argumentTypes": null, - "id": 10268, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10260, - "src": "5003:5:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Set_$10081_storage", - "typeString": "struct EnumerableSet.Set storage ref" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10265, - "name": "_add", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10121, - "src": "4986:4:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Set_$10081_storage_ptr_$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (struct EnumerableSet.Set storage pointer,bytes32) returns (bool)" - } - }, - "id": 10269, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4986:23:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 10264, - "id": 10270, - "nodeType": "Return", - "src": "4979:30:23" - } - ] - }, - "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": 10272, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "add", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10261, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10258, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10272, - "src": "4906:22:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Set_$10256_storage_ptr", - "typeString": "struct EnumerableSet.Bytes32Set" - }, - "typeName": { - "contractScope": null, - "id": 10257, - "name": "Bytes32Set", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10256, - "src": "4906:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Set_$10256_storage_ptr", - "typeString": "struct EnumerableSet.Bytes32Set" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10260, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10272, - "src": "4930:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10259, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4930:7:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4905:39:23" - }, - "returnParameters": { - "id": 10264, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10263, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10272, - "src": "4963:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10262, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4963:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4962:6:23" - }, - "scope": 10542, - "src": "4893:123:23", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10287, - "nodeType": "Block", - "src": "5263:50:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10282, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10274, - "src": "5288:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Set_$10256_storage_ptr", - "typeString": "struct EnumerableSet.Bytes32Set storage pointer" - } - }, - "id": 10283, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10255, - "src": "5288:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - }, - { - "argumentTypes": null, - "id": 10284, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10276, - "src": "5300:5:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Set_$10081_storage", - "typeString": "struct EnumerableSet.Set storage ref" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10281, - "name": "_remove", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10200, - "src": "5280:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Set_$10081_storage_ptr_$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (struct EnumerableSet.Set storage pointer,bytes32) returns (bool)" - } - }, - "id": 10285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5280:26:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 10280, - "id": 10286, - "nodeType": "Return", - "src": "5273:33:23" - } - ] - }, - "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": 10288, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "remove", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10277, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10274, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10288, - "src": "5200:22:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Set_$10256_storage_ptr", - "typeString": "struct EnumerableSet.Bytes32Set" - }, - "typeName": { - "contractScope": null, - "id": 10273, - "name": "Bytes32Set", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10256, - "src": "5200:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Set_$10256_storage_ptr", - "typeString": "struct EnumerableSet.Bytes32Set" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10276, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10288, - "src": "5224:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10275, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5224:7:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5199:39:23" - }, - "returnParameters": { - "id": 10280, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10279, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10288, - "src": "5257:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10278, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5257:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5256:6:23" - }, - "scope": 10542, - "src": "5184:129:23", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10303, - "nodeType": "Block", - "src": "5480:52:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10298, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10290, - "src": "5507:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Set_$10256_storage_ptr", - "typeString": "struct EnumerableSet.Bytes32Set storage pointer" - } - }, - "id": 10299, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10255, - "src": "5507:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - }, - { - "argumentTypes": null, - "id": 10300, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10292, - "src": "5519:5:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Set_$10081_storage", - "typeString": "struct EnumerableSet.Set storage ref" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10297, - "name": "_contains", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10217, - "src": "5497:9:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Set_$10081_storage_ptr_$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (struct EnumerableSet.Set storage pointer,bytes32) view returns (bool)" - } - }, - "id": 10301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5497:28:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 10296, - "id": 10302, - "nodeType": "Return", - "src": "5490:35:23" - } - ] - }, - "documentation": "@dev Returns true if the value is in the set. O(1).", - "id": 10304, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "contains", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10293, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10290, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10304, - "src": "5412:22:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Set_$10256_storage_ptr", - "typeString": "struct EnumerableSet.Bytes32Set" - }, - "typeName": { - "contractScope": null, - "id": 10289, - "name": "Bytes32Set", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10256, - "src": "5412:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Set_$10256_storage_ptr", - "typeString": "struct EnumerableSet.Bytes32Set" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10292, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10304, - "src": "5436:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10291, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5436:7:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5411:39:23" - }, - "returnParameters": { - "id": 10296, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10295, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10304, - "src": "5474:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10294, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5474:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5473:6:23" - }, - "scope": 10542, - "src": "5394:138:23", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10316, - "nodeType": "Block", - "src": "5685:43:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10312, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10306, - "src": "5710:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Set_$10256_storage_ptr", - "typeString": "struct EnumerableSet.Bytes32Set storage pointer" - } - }, - "id": 10313, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10255, - "src": "5710:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Set_$10081_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - ], - "id": 10311, - "name": "_length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10229, - "src": "5702:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Set_$10081_storage_ptr_$returns$_t_uint256_$", - "typeString": "function (struct EnumerableSet.Set storage pointer) view returns (uint256)" - } - }, - "id": 10314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5702:19:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 10310, - "id": 10315, - "nodeType": "Return", - "src": "5695:26:23" - } - ] - }, - "documentation": "@dev Returns the number of values in the set. O(1).", - "id": 10317, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "length", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10307, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10306, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10317, - "src": "5629:22:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Set_$10256_storage_ptr", - "typeString": "struct EnumerableSet.Bytes32Set" - }, - "typeName": { - "contractScope": null, - "id": 10305, - "name": "Bytes32Set", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10256, - "src": "5629:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Set_$10256_storage_ptr", - "typeString": "struct EnumerableSet.Bytes32Set" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5628:24:23" - }, - "returnParameters": { - "id": 10310, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10309, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10317, - "src": "5676:7:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10308, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5676:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5675:9:23" - }, - "scope": 10542, - "src": "5613:115:23", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10332, - "nodeType": "Block", - "src": "6143:46:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10327, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10319, - "src": "6164:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Set_$10256_storage_ptr", - "typeString": "struct EnumerableSet.Bytes32Set storage pointer" - } - }, - "id": 10328, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10255, - "src": "6164:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - }, - { - "argumentTypes": null, - "id": 10329, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10321, - "src": "6176:5:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Set_$10081_storage", - "typeString": "struct EnumerableSet.Set storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10326, - "name": "_at", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10253, - "src": "6160:3:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Set_$10081_storage_ptr_$_t_uint256_$returns$_t_bytes32_$", - "typeString": "function (struct EnumerableSet.Set storage pointer,uint256) view returns (bytes32)" - } - }, - "id": 10330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6160:22:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 10325, - "id": 10331, - "nodeType": "Return", - "src": "6153:29:23" - } - ] - }, - "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": 10333, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "at", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10322, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10319, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10333, - "src": "6072:22:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Set_$10256_storage_ptr", - "typeString": "struct EnumerableSet.Bytes32Set" - }, - "typeName": { - "contractScope": null, - "id": 10318, - "name": "Bytes32Set", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10256, - "src": "6072:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Set_$10256_storage_ptr", - "typeString": "struct EnumerableSet.Bytes32Set" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10321, - "name": "index", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10333, - "src": "6096:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10320, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6096:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6071:39:23" - }, - "returnParameters": { - "id": 10325, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10324, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10333, - "src": "6134:7:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10323, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6134:7:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6133:9:23" - }, - "scope": 10542, - "src": "6060:129:23", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "canonicalName": "EnumerableSet.AddressSet", - "id": 10336, - "members": [ - { - "constant": false, - "id": 10335, - "name": "_inner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10336, - "src": "6242:10:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage_ptr", - "typeString": "struct EnumerableSet.Set" - }, - "typeName": { - "contractScope": null, - "id": 10334, - "name": "Set", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10081, - "src": "6242:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage_ptr", - "typeString": "struct EnumerableSet.Set" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "AddressSet", - "nodeType": "StructDefinition", - "scope": 10542, - "src": "6214:45:23", - "visibility": "public" - }, - { - "body": { - "id": 10360, - "nodeType": "Block", - "src": "6505:74:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10346, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10338, - "src": "6527:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSet_$10336_storage_ptr", - "typeString": "struct EnumerableSet.AddressSet storage pointer" - } - }, - "id": 10347, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10335, - "src": "6527:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10354, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10340, - "src": "6563:5:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 10353, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6555:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 10352, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "6555:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6555:14:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 10351, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6547:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 10350, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6547:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10356, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6547:23:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10349, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6539:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 10348, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6539:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10357, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6539:32:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Set_$10081_storage", - "typeString": "struct EnumerableSet.Set storage ref" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10345, - "name": "_add", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10121, - "src": "6522:4:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Set_$10081_storage_ptr_$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (struct EnumerableSet.Set storage pointer,bytes32) returns (bool)" - } - }, - "id": 10358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6522:50:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 10344, - "id": 10359, - "nodeType": "Return", - "src": "6515:57:23" - } - ] - }, - "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": 10361, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "add", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10341, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10338, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10361, - "src": "6442:22:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSet_$10336_storage_ptr", - "typeString": "struct EnumerableSet.AddressSet" - }, - "typeName": { - "contractScope": null, - "id": 10337, - "name": "AddressSet", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10336, - "src": "6442:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSet_$10336_storage_ptr", - "typeString": "struct EnumerableSet.AddressSet" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10340, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10361, - "src": "6466:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10339, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6466:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6441:39:23" - }, - "returnParameters": { - "id": 10344, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10343, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10361, - "src": "6499:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10342, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6499:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6498:6:23" - }, - "scope": 10542, - "src": "6429:150:23", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10385, - "nodeType": "Block", - "src": "6826:77:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10371, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10363, - "src": "6851:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSet_$10336_storage_ptr", - "typeString": "struct EnumerableSet.AddressSet storage pointer" - } - }, - "id": 10372, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10335, - "src": "6851:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10379, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10365, - "src": "6887:5:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 10378, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6879:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 10377, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "6879:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10380, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6879:14:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 10376, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6871:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 10375, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6871:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6871:23:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10374, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6863:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 10373, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6863:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6863:32:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Set_$10081_storage", - "typeString": "struct EnumerableSet.Set storage ref" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10370, - "name": "_remove", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10200, - "src": "6843:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Set_$10081_storage_ptr_$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (struct EnumerableSet.Set storage pointer,bytes32) returns (bool)" - } - }, - "id": 10383, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6843:53:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 10369, - "id": 10384, - "nodeType": "Return", - "src": "6836:60:23" - } - ] - }, - "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": 10386, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "remove", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10366, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10363, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10386, - "src": "6763:22:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSet_$10336_storage_ptr", - "typeString": "struct EnumerableSet.AddressSet" - }, - "typeName": { - "contractScope": null, - "id": 10362, - "name": "AddressSet", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10336, - "src": "6763:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSet_$10336_storage_ptr", - "typeString": "struct EnumerableSet.AddressSet" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10365, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10386, - "src": "6787:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10364, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6787:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6762:39:23" - }, - "returnParameters": { - "id": 10369, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10368, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10386, - "src": "6820:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10367, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6820:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6819:6:23" - }, - "scope": 10542, - "src": "6747:156:23", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10410, - "nodeType": "Block", - "src": "7070:79:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10396, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10388, - "src": "7097:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSet_$10336_storage_ptr", - "typeString": "struct EnumerableSet.AddressSet storage pointer" - } - }, - "id": 10397, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10335, - "src": "7097:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10404, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10390, - "src": "7133:5:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 10403, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7125:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 10402, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "7125:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10405, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7125:14:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 10401, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7117:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 10400, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7117:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7117:23:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10399, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7109:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 10398, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7109:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10407, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7109:32:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Set_$10081_storage", - "typeString": "struct EnumerableSet.Set storage ref" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10395, - "name": "_contains", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10217, - "src": "7087:9:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Set_$10081_storage_ptr_$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (struct EnumerableSet.Set storage pointer,bytes32) view returns (bool)" - } - }, - "id": 10408, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7087:55:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 10394, - "id": 10409, - "nodeType": "Return", - "src": "7080:62:23" - } - ] - }, - "documentation": "@dev Returns true if the value is in the set. O(1).", - "id": 10411, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "contains", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10391, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10388, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10411, - "src": "7002:22:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSet_$10336_storage_ptr", - "typeString": "struct EnumerableSet.AddressSet" - }, - "typeName": { - "contractScope": null, - "id": 10387, - "name": "AddressSet", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10336, - "src": "7002:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSet_$10336_storage_ptr", - "typeString": "struct EnumerableSet.AddressSet" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10390, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10411, - "src": "7026:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10389, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7026:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7001:39:23" - }, - "returnParameters": { - "id": 10394, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10393, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10411, - "src": "7064:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10392, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7064:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7063:6:23" - }, - "scope": 10542, - "src": "6984:165:23", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10423, - "nodeType": "Block", - "src": "7302:43:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10419, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10413, - "src": "7327:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSet_$10336_storage_ptr", - "typeString": "struct EnumerableSet.AddressSet storage pointer" - } - }, - "id": 10420, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10335, - "src": "7327:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Set_$10081_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - ], - "id": 10418, - "name": "_length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10229, - "src": "7319:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Set_$10081_storage_ptr_$returns$_t_uint256_$", - "typeString": "function (struct EnumerableSet.Set storage pointer) view returns (uint256)" - } - }, - "id": 10421, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7319:19:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 10417, - "id": 10422, - "nodeType": "Return", - "src": "7312:26:23" - } - ] - }, - "documentation": "@dev Returns the number of values in the set. O(1).", - "id": 10424, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "length", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10414, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10413, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10424, - "src": "7246:22:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSet_$10336_storage_ptr", - "typeString": "struct EnumerableSet.AddressSet" - }, - "typeName": { - "contractScope": null, - "id": 10412, - "name": "AddressSet", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10336, - "src": "7246:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSet_$10336_storage_ptr", - "typeString": "struct EnumerableSet.AddressSet" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7245:24:23" - }, - "returnParameters": { - "id": 10417, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10416, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10424, - "src": "7293:7:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10415, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7293:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7292:9:23" - }, - "scope": 10542, - "src": "7230:115:23", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10448, - "nodeType": "Block", - "src": "7760:73:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10440, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10426, - "src": "7805:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSet_$10336_storage_ptr", - "typeString": "struct EnumerableSet.AddressSet storage pointer" - } - }, - "id": 10441, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10335, - "src": "7805:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - }, - { - "argumentTypes": null, - "id": 10442, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10428, - "src": "7817:5:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Set_$10081_storage", - "typeString": "struct EnumerableSet.Set storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10439, - "name": "_at", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10253, - "src": "7801:3:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Set_$10081_storage_ptr_$_t_uint256_$returns$_t_bytes32_$", - "typeString": "function (struct EnumerableSet.Set storage pointer,uint256) view returns (bytes32)" - } - }, - "id": 10443, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7801:22:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10438, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7793:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 10437, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7793:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10444, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7793:31:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10436, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7785:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 10435, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "7785:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10445, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7785:40:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 10434, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7777:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 10433, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7777:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10446, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7777:49:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "functionReturnParameters": 10432, - "id": 10447, - "nodeType": "Return", - "src": "7770:56:23" - } - ] - }, - "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": 10449, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "at", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10429, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10426, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10449, - "src": "7689:22:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSet_$10336_storage_ptr", - "typeString": "struct EnumerableSet.AddressSet" - }, - "typeName": { - "contractScope": null, - "id": 10425, - "name": "AddressSet", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10336, - "src": "7689:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSet_$10336_storage_ptr", - "typeString": "struct EnumerableSet.AddressSet" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10428, - "name": "index", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10449, - "src": "7713:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10427, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7713:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7688:39:23" - }, - "returnParameters": { - "id": 10432, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10431, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10449, - "src": "7751:7:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10430, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7751:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7750:9:23" - }, - "scope": 10542, - "src": "7677:156:23", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "canonicalName": "EnumerableSet.UintSet", - "id": 10452, - "members": [ - { - "constant": false, - "id": 10451, - "name": "_inner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10452, - "src": "7881:10:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage_ptr", - "typeString": "struct EnumerableSet.Set" - }, - "typeName": { - "contractScope": null, - "id": 10450, - "name": "Set", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10081, - "src": "7881:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage_ptr", - "typeString": "struct EnumerableSet.Set" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "UintSet", - "nodeType": "StructDefinition", - "scope": 10542, - "src": "7856:42:23", - "visibility": "public" - }, - { - "body": { - "id": 10470, - "nodeType": "Block", - "src": "8141:56:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10462, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10454, - "src": "8163:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10452_storage_ptr", - "typeString": "struct EnumerableSet.UintSet storage pointer" - } - }, - "id": 10463, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10451, - "src": "8163:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10466, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10456, - "src": "8183:5:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10465, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8175:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 10464, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "8175:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8175:14:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Set_$10081_storage", - "typeString": "struct EnumerableSet.Set storage ref" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10461, - "name": "_add", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10121, - "src": "8158:4:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Set_$10081_storage_ptr_$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (struct EnumerableSet.Set storage pointer,bytes32) returns (bool)" - } - }, - "id": 10468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8158:32:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 10460, - "id": 10469, - "nodeType": "Return", - "src": "8151:39:23" - } - ] - }, - "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": 10471, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "add", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10457, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10454, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10471, - "src": "8081:19:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10452_storage_ptr", - "typeString": "struct EnumerableSet.UintSet" - }, - "typeName": { - "contractScope": null, - "id": 10453, - "name": "UintSet", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10452, - "src": "8081:7:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10452_storage_ptr", - "typeString": "struct EnumerableSet.UintSet" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10456, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10471, - "src": "8102:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10455, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8102:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8080:36:23" - }, - "returnParameters": { - "id": 10460, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10459, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10471, - "src": "8135:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10458, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8135:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8134:6:23" - }, - "scope": 10542, - "src": "8068:129:23", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10489, - "nodeType": "Block", - "src": "8441:59:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10481, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10473, - "src": "8466:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10452_storage_ptr", - "typeString": "struct EnumerableSet.UintSet storage pointer" - } - }, - "id": 10482, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10451, - "src": "8466:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10485, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10475, - "src": "8486:5:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10484, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8478:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 10483, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "8478:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10486, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8478:14:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Set_$10081_storage", - "typeString": "struct EnumerableSet.Set storage ref" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10480, - "name": "_remove", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10200, - "src": "8458:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Set_$10081_storage_ptr_$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (struct EnumerableSet.Set storage pointer,bytes32) returns (bool)" - } - }, - "id": 10487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8458:35:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 10479, - "id": 10488, - "nodeType": "Return", - "src": "8451:42:23" - } - ] - }, - "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": 10490, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "remove", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10476, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10473, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10490, - "src": "8381:19:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10452_storage_ptr", - "typeString": "struct EnumerableSet.UintSet" - }, - "typeName": { - "contractScope": null, - "id": 10472, - "name": "UintSet", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10452, - "src": "8381:7:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10452_storage_ptr", - "typeString": "struct EnumerableSet.UintSet" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10475, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10490, - "src": "8402:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10474, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8402:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8380:36:23" - }, - "returnParameters": { - "id": 10479, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10478, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10490, - "src": "8435:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10477, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8435:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8434:6:23" - }, - "scope": 10542, - "src": "8365:135:23", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10508, - "nodeType": "Block", - "src": "8664:61:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10500, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10492, - "src": "8691:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10452_storage_ptr", - "typeString": "struct EnumerableSet.UintSet storage pointer" - } - }, - "id": 10501, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10451, - "src": "8691:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10504, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10494, - "src": "8711:5:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10503, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8703:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 10502, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "8703:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10505, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8703:14:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Set_$10081_storage", - "typeString": "struct EnumerableSet.Set storage ref" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10499, - "name": "_contains", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10217, - "src": "8681:9:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Set_$10081_storage_ptr_$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (struct EnumerableSet.Set storage pointer,bytes32) view returns (bool)" - } - }, - "id": 10506, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8681:37:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 10498, - "id": 10507, - "nodeType": "Return", - "src": "8674:44:23" - } - ] - }, - "documentation": "@dev Returns true if the value is in the set. O(1).", - "id": 10509, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "contains", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10495, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10492, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10509, - "src": "8599:19:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10452_storage_ptr", - "typeString": "struct EnumerableSet.UintSet" - }, - "typeName": { - "contractScope": null, - "id": 10491, - "name": "UintSet", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10452, - "src": "8599:7:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10452_storage_ptr", - "typeString": "struct EnumerableSet.UintSet" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10494, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10509, - "src": "8620:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10493, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8620:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8598:36:23" - }, - "returnParameters": { - "id": 10498, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10497, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10509, - "src": "8658:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10496, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8658:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8657:6:23" - }, - "scope": 10542, - "src": "8581:144:23", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10521, - "nodeType": "Block", - "src": "8875:43:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10517, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10511, - "src": "8900:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10452_storage_ptr", - "typeString": "struct EnumerableSet.UintSet storage pointer" - } - }, - "id": 10518, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10451, - "src": "8900:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Set_$10081_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - ], - "id": 10516, - "name": "_length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10229, - "src": "8892:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Set_$10081_storage_ptr_$returns$_t_uint256_$", - "typeString": "function (struct EnumerableSet.Set storage pointer) view returns (uint256)" - } - }, - "id": 10519, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8892:19:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 10515, - "id": 10520, - "nodeType": "Return", - "src": "8885:26:23" - } - ] - }, - "documentation": "@dev Returns the number of values on the set. O(1).", - "id": 10522, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "length", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10512, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10511, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10522, - "src": "8822:19:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10452_storage_ptr", - "typeString": "struct EnumerableSet.UintSet" - }, - "typeName": { - "contractScope": null, - "id": 10510, - "name": "UintSet", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10452, - "src": "8822:7:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10452_storage_ptr", - "typeString": "struct EnumerableSet.UintSet" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8821:21:23" - }, - "returnParameters": { - "id": 10515, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10514, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10522, - "src": "8866:7:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10513, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8866:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8865:9:23" - }, - "scope": 10542, - "src": "8806:112:23", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10540, - "nodeType": "Block", - "src": "9330:55:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10534, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10524, - "src": "9359:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10452_storage_ptr", - "typeString": "struct EnumerableSet.UintSet storage pointer" - } - }, - "id": 10535, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10451, - "src": "9359:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10081_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - }, - { - "argumentTypes": null, - "id": 10536, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10526, - "src": "9371:5:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Set_$10081_storage", - "typeString": "struct EnumerableSet.Set storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10533, - "name": "_at", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10253, - "src": "9355:3:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Set_$10081_storage_ptr_$_t_uint256_$returns$_t_bytes32_$", - "typeString": "function (struct EnumerableSet.Set storage pointer,uint256) view returns (bytes32)" - } - }, - "id": 10537, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9355:22:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10532, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9347:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 10531, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9347:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9347:31:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 10530, - "id": 10539, - "nodeType": "Return", - "src": "9340:38:23" - } - ] - }, - "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": 10541, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "at", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10527, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10524, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10541, - "src": "9262:19:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10452_storage_ptr", - "typeString": "struct EnumerableSet.UintSet" - }, - "typeName": { - "contractScope": null, - "id": 10523, - "name": "UintSet", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10452, - "src": "9262:7:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10452_storage_ptr", - "typeString": "struct EnumerableSet.UintSet" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10526, - "name": "index", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10541, - "src": "9283:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10525, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9283:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9261:36:23" - }, - "returnParameters": { - "id": 10530, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10529, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10541, - "src": "9321:7:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10528, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9321:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9320:9:23" - }, - "scope": 10542, - "src": "9250:135:23", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 10543, - "src": "753:8634:23" - } - ], - "src": "33:9355:23" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.20", - "updatedAt": "2021-05-11T16:04:02.536Z", - "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 532dc92d..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:4:-: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:24;935:15;;516:10:9;935:15:24;508:18:9;-1:-1:-1;;;;;;508:18:9;;;;;;199:24437:4;;;;;;", - "deployedSourceMap": "199:24437:4:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;313:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;313:35:4;;;:::i;:::-;;;;;;;;;;;;;;;;281:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;281:26:4;;;:::i;460:39::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;460:39:4;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;460:39:4;;:::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:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;460:39:4;;;;;;;;;;;;;;;;;;;;;;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:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23757:657;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23757:657:4;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;23757:657:4;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;382:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;382:40:4;;;:::i;23529:105::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23529:105:4;;;:::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:4;;;;;;;;;;;;;;;;;22360:102;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22360:102:4;;;:::i;11710:2127::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11710:2127:4;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;22493:275;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22493:275:4;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;22493:275:4;;:::i;505:45::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;505:45:4;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;505:45:4;;;;;;;;:::i;5218:3091::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5218:3091:4;;:::i;3376:1836::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3376:1836:4;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;3376:1836:4;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;3376:1836:4;;;;;;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:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;3376:1836:4;;;;;;;;-1:-1:-1;3376:1836:4;;-1:-1:-1;;21:11;5:28;;2:2;;;46:1;43;36:12;2:2;3376:1836:4;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;3376:1836:4;;;;;;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:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;3376:1836:4;;;;;;;;-1:-1:-1;3376:1836:4;;-1:-1:-1;;21:11;5:28;;2:2;;;46:1;43;36:12;2:2;3376:1836:4;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;3376:1836:4;;;;;;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:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;3376:1836:4;;-1:-1:-1;3376:1836:4;;-1:-1:-1;;;;;3376:1836:4:i;1052:84:24:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1052:84:24;;;:::i;20678:421:4:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20678:421:4;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;20678:421:4;;;;;;;:::i;3239:131::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3239:131:4;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3239:131:4;;:::i;239:20:9:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;239:20:9;;;:::i;:::-;;;;-1:-1:-1;;;;;239:20:9;;;;;;;;;;;;;;24419:214:4;;8:9:-1;5:2;;;30:1;27;20:12;5:2;24419:214:4;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;24419:214:4;;;;;;;;;;:::i;:::-;;429:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;429:25:4;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;429:25:4;;:::i;8315:3389::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8315:3389:4;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8315:3389:4;;:::i;19212:1433::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19212:1433:4;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19212:1433:4;;;;;;;;;;;;:::i;3103:130::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3103:130:4;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3103:130:4;;:::i;16691:475::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16691:475:4;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16691:475:4;;;;;;;;;;;;:::i;22806:663::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22806:663:4;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;22806:663:4;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17172:283;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17172:283:4;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;17172:283:4;;;;;;;;;;;;:::i;17461:1745::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17461:1745:4;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;17461:1745:4;;;;;;;;;;;;:::i;13843:2360::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13843:2360:4;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13843:2360:4;;;;;;;;;;;;:::i;16209:476::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16209:476:4;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16209:476:4;;;;;;;;;;;;:::i;21105:1224::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21105:1224:4;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;21105:1224:4;;;;;;;:::i;864:188:9:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;864:188:9;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;864:188:9;-1:-1:-1;;;;;864:188:9;;:::i;313:35:4:-;;;;:::o;281:26::-;;;;:::o;460:39::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;460:39:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;460:39:4;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;460:39:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;460:39:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;460:39:4;;;;;;;-1:-1:-1;;460:39:4;;;:::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:4;;;;;;;;;;;;-1:-1:-1;;;11879:53:4;;;;;;;;;;;;;;;11968:1;11982:19;;;11979:44;;;-1:-1:-1;12020:1:4;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:4;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:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;12548:11;12535:9;:24;12527:77;;;;-1:-1:-1;;;12527:77:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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:4;;;;;;;;;;;;;13723:86;;;;;;;;;;;;;13566:10;;13742:14;;13699:8;;13723:86;;;;;;;;;-1:-1:-1;13826:4:4;;11710:2127;-1:-1:-1;;;;;;;;;;11710:2127:4: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:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22631:16;;22609:38;;22631:16;;22609:38;;;22631:16;22609:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;22609:38:4;;;-1:-1:-1;;22609:38:4;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;22609:38:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;22609:38:4;;;-1:-1:-1;;22609:38:4;;;;;;;;;;;;;;;22697:11;;22710:13;;;;22725:16;;;;22743:17;;;;;22697:11;;22710:13;;-1:-1:-1;22725:16:4;;-1:-1:-1;22743:17:4;-1:-1:-1;22493:275:4;-1:-1:-1;;;22493:275:4: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:4;;;;;;;;;;;;-1:-1:-1;;;5346:46:4;;;;;;;;;;;;;;;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:4;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:4;;6001:39;;:6;;:39;:10;:39;:::i;6000:72::-;6156:24;;;:29;6118:31;;;;5994:78;;-1:-1:-1;6106:80:4;;6107:43;;:6;;:43;:10;:43;:::i;6106:80::-;6197:20;;;;:34;;;6241:24;;:38;;;6324:27;;;;6100:86;;-1:-1:-1;6197:25:4;;6316:36;;:3;;:36;:7;:36;:::i;:::-;6396:31;;;;6290:62;;-1:-1:-1;6362:23:4;;6388:40;;:3;;:40;:7;:40;:::i;:::-;6458:27;;;;6362:66;;-1:-1:-1;6439:16:4;;6458:48;;6490:15;6458:48;:31;:48;:::i;:::-;6535:31;;;;6439:67;;-1:-1:-1;6516:16:4;;6535:52;;6571:15;6535:52;:35;:52;:::i;:::-;6690:26;;;;6516:71;;-1:-1:-1;6615:15:4;;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:4;-1:-1:-1;;;;;7398:51:4;;;;;;;;;;;;;: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:4;-1:-1:-1;;;;;7534:42:4;;;;;;;;;;;;:108;;;;7723:67;7774:15;7723;:24;;:34;;:46;7758:10;-1:-1:-1;;;;;7723:46:4;-1:-1:-1;;;;;7723:46:4;;;;;;;;;;;;;: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:4;8267:20;;;;:8;:20;;;;;;;27:10:-1;;39:1;23:18;;45:23;;8267:35:4;;;;;;;;;;-1:-1:-1;5218:3091:4;;;-1:-1:-1;;;;;;;;;5218:3091:4:o;3376:1836::-;3536:12;672:5:9;;;;;-1:-1:-1;;;;;672:5:9;658:10;:19;650:28;;;;;;3568:15:4::1;:22;3594:1;3568:27;3560:67;;;::::0;;-1:-1:-1;;;3560:67:4;;::::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:4::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:4;;::::1;::::0;:16:::1;::::0;::::1;::::0;:29:::1;::::0;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;4114:17:4::1;::::0;::::1;:25:::0;;-1:-1:-1;;4114:25:4::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:4::1;;;-1:-1:-1::0;5098:7:4::1;::::0;;5084:8:::1;27:10:-1::0;;23:18;;::::1;45:23:::0;;-1:-1;5084:22:4;;;;::::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:4::1;::::0;;::::1;::::0;;::::1;::::0;;274:1:-1::1;5133:7:4::0;5121:32;;-1:-1:-1;5133:7:4;-1:-1:-1;5121:32:4::1;::::0;-1:-1:-1;;;5121:32:4::1;-1:-1:-1::0;;5173:7:4::1;::::0;;:11;::::1;5163:21:::0;;5173:7;3376:1836;-1:-1:-1;;;;;;3376:1836:4:o;1052:84:24:-;1099:4;1122:7;;;1052:84;:::o;20678:421:4:-;20763:12;672:5:9;;;;;-1:-1:-1;;;;;672:5:9;658:10;:19;650:28;;;;;;20795:21:4::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:4::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:9:-;;;;;;-1:-1:-1;;;;;239:20:9;;:::o;24419:214:4:-;672:5:9;;;;;-1:-1:-1;;;;;672:5:9;658:10;:19;650:28;;;;;;24590:35:4::1;::::0;;-1:-1:-1;;;24590:35:4;;24619:4:::1;24590:35;::::0;::::1;::::0;;;24541:13;;-1:-1:-1;;;;;24565:19:4;::::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:4;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;24590:35:4;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;24590:35:4;24565:61:::1;::::0;;-1:-1:-1;;;;;;24565:61:4::1;::::0;;;;;;-1:-1:-1;;;;;24565:61:4;;::::1;;::::0;::::1;::::0;;;;;;;;;;;;;;24590:35:::1;::::0;24565:61;;;;;;;-1:-1:-1;24565:61:4;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;24565:61:4;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;24565:61:4;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;;;;;24419:214:4:o;429:25::-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;429:25:4;:::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:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;8706:10;8720:1;8671:46;;;:34;;;:46;;;;;;8663:93;;;;;-1:-1:-1;;;8663:93:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;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:4;8994:118;;9080:31;8994:81;;:46;:81;:50;:81;:::i;:118::-;9181:20;;;:25;8967:145;;-1:-1:-1;9181:47:4;;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:4;;9794:83;;;:35;:83;:::i;:::-;9970:27;;;;9925:26;;;;9775:102;;-1:-1:-1;9908:14:4;;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:4;;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:4;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:4;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:4;;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:4;;: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:4;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:4;;;;;;;;;;;;-1:-1:-1;;;19383:53:4;;;;;;;;;;;;;;;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:4;-1:-1:-1;19684:115:4;;;;;-1:-1:-1;;;19684:115:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;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:4;;20294:70;;20336:27;20295:35;;20204:63;20295:35;:30;:35;:::i;20294:70::-;20460:26;;;;20277:87;;-1:-1:-1;20449:38:4;;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:4;-1:-1:-1;;;;19212:1433:4: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:4;;;;: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:4;;17031:77;;17080:27;17032:42;;16920:82;17032:42;:29;:42;:::i;17031:77::-;17012:96;-1:-1:-1;17125:34:4;17012:96;17125:20;:11;17141:3;17125:20;:15;:20;:::i;:34::-;17118:41;16691:475;-1:-1:-1;;;;;;;16691:475:4: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:4;;;;-1:-1:-1;;23118:6:4;: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:4;;-1:-1:-1;23308:27:4;;-1:-1:-1;23337:27:4;;-1:-1:-1;23366:28:4;;-1:-1:-1;23404:25:4;;-1:-1:-1;23431:30:4;22806:663::o;17172:283::-;17287:7;17306:30;;:::i;:::-;-1:-1:-1;17339:16:4;;;;: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:4: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:4;;;;;;;;;;;;-1:-1:-1;;;17632:53:4;;;;;;;;;;;;;;;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:4;-1:-1:-1;17938:114:4;;;;;-1:-1:-1;;;17938:114:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;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:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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:4;;18843:73;;18887:28;18844:37;;18750:65;18844:37;:31;:37;:::i;18843:73::-;19014:27;;;;18825:91;;-1:-1:-1;19002:40:4;;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:4;-1:-1:-1;;;;;17461:1745:4: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:4;;;;;;;;;;;;-1:-1:-1;;;14005:53:4;;;;;;;;;;;;;;;14077:31;14111:16;;;:6;:16;;;;;;;;:45;;;:29;;;;:45;;;;;;;14205:19;;;14202:44;;;-1:-1:-1;14243:1:4;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:4;-1:-1:-1;14478:110:4;;;;;-1:-1:-1;;;14478:110:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;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:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;14794:25;;;;14751:19;;14773:47;;:16;;:47;:20;:47;:::i;:::-;14943:10;14906:48;;;;:36;;;:48;;;;;;14751:69;;-1:-1:-1;14906:77:4;;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:4;;;;;;;;16164:10;;16141:8;;16131:44;;;;;;;;;-1:-1:-1;16192:4:4;;13843:2360;-1:-1:-1;;;;;;;;;13843:2360:4:o;16209:476::-;16324:15;16351:30;;:::i;:::-;-1:-1:-1;16384:16:4;;;;: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:4;;16550:77;;16599:27;16551:42;;16439:82;16551:42;:29;:42;:::i;16550:77::-;16531:96;-1:-1:-1;16644:34:4;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:4;;;;;;;;;;;;-1:-1:-1;;;21210:58:4;;;;;;;;;;;;;;;21278:31;21312:16;;;:6;:16;;;;;;;;:45;;;:29;;;:45;;;;;21375:16;;;;;;;:23;;;:41;;21367:84;;;;;-1:-1:-1;;;21367:84:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;21494:10;21469:36;;;;:24;;;:36;;;;;;;;:45;21461:79;;;;;-1:-1:-1;;;21461:79:4;;;;;;;;;;;;-1:-1:-1;;;21461:79:4;;;;;;;;;;;;;;;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:4;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:4;;: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:4;;;;:6;:16;;;;;;;;:45;;;22253:4;22180:29;;;:45;;;;;22239:10;22180:70;;;:58;;;;:70;;;;;;:77;;-1:-1:-1;;22180:77:4;;;;;;22272:50;;;;;;;22187:8;;22272:50;;;;;;;;21105:1224;;;;;;;;:::o;864:188:9:-;672:5;;;;;-1:-1:-1;;;;;672:5:9;658:10;:19;650:28;;;;;;-1:-1:-1;;;;;944:22:9;::::1;936:31;;;::::0;::::1;;1003:5;::::0;;982:37:::1;::::0;-1:-1:-1;;;;;982:37:9;;::::1;::::0;1003:5:::1;::::0;;::::1;;::::0;982:37:::1;::::0;::::1;1029:5;:16:::0;;-1:-1:-1;;;;;1029:16:9;;::::1;;;-1:-1:-1::0;;;;;;1029:16:9;;::::1;::::0;;;::::1;::::0;;864:188::o;2690:175:12:-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;;-1:-1:-1;;;2794:46:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;2857:1;-1:-1:-1;2690:175:12;;;;;:::o;3538:215::-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:12;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4217:150;4275:7;4306:1;4302;:5;4294:44;;;;;-1:-1:-1;;;4294:44:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:12:o;3136:155::-;3194:7;3226:1;3221;:6;;3213:49;;;;;-1:-1:-1;;;3213:49:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3279:5:12;;;3136:155::o;199:24437:4:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;199:24437:4;;;-1:-1:-1;199:24437:4;:::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": [ - 3745 - ] - }, - "id": 3746, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1124, - "literals": [ - "solidity", - ">=", - "0.6", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:24:4" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "file": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "id": 1125, - "nodeType": "ImportDirective", - "scope": 3746, - "sourceUnit": 8070, - "src": "59:55:4", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Pausable.sol", - "file": "@openzeppelin/contracts/utils/Pausable.sol", - "id": 1126, - "nodeType": "ImportDirective", - "scope": 3746, - "sourceUnit": 10626, - "src": "115:52:4", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Ownable.sol", - "file": "./utils/Ownable.sol", - "id": 1127, - "nodeType": "ImportDirective", - "scope": 3746, - "sourceUnit": 7182, - "src": "168:29:4", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 1128, - "name": "Pausable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10625, - "src": "220:8:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Pausable_$10625", - "typeString": "contract Pausable" - } - }, - "id": 1129, - "nodeType": "InheritanceSpecifier", - "src": "220:8:4" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 1130, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7181, - "src": "230:7:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$7181", - "typeString": "contract Ownable" - } - }, - "id": 1131, - "nodeType": "InheritanceSpecifier", - "src": "230:7:4" - } - ], - "contractDependencies": [ - 7181, - 9528, - 10625 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 3745, - "linearizedBaseContracts": [ - 3745, - 7181, - 10625, - 9528 - ], - "name": "Exchange", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 1134, - "libraryName": { - "contractScope": null, - "id": 1132, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7585, - "src": "254:8:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$7585", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "248:27:4", - "typeName": { - "id": 1133, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "267:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "functionSelector": "089cdd0c", - "id": 1137, - "name": "eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3745, - "src": "281:26:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1135, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "281:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 1136, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "306:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "08888c0a", - "id": 1142, - "name": "ODD_DECIMALS", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3745, - "src": "313:35:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1138, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "313:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - }, - "id": 1141, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 1139, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "343:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "34", - "id": 1140, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "347:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "src": "343:5:4", - "typeDescriptions": { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "262f92d2", - "id": 1147, - "name": "CURRENCY_DECIMALS", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3745, - "src": "382:40:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1143, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "382:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_10000000_by_1", - "typeString": "int_const 10000000" - }, - "id": 1146, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 1144, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "417:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "37", - "id": 1145, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "421:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - }, - "value": "7" - }, - "src": "417:5:4", - "typeDescriptions": { - "typeIdentifier": "t_rational_10000000_by_1", - "typeString": "int_const 10000000" - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "998f6ac0", - "id": 1150, - "name": "eventIds", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3745, - "src": "429:25:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1148, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "429:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1149, - "length": null, - "nodeType": "ArrayTypeName", - "src": "429:9:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "0b791430", - "id": 1154, - "name": "events", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3745, - "src": "460:39:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1216_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event)" - }, - "typeName": { - "id": 1153, - "keyType": { - "id": 1151, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "468:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "460:25:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1216_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event)" - }, - "valueType": { - "contractScope": null, - "id": 1152, - "name": "Event", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1216, - "src": "479:5:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage_ptr", - "typeString": "struct Exchange.Event" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "50968657", - "id": 1159, - "name": "myEvents", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3745, - "src": "505:45:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[])" - }, - "typeName": { - "id": 1158, - "keyType": { - "id": 1155, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "513:7:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "505:29:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[])" - }, - "valueType": { - "baseType": { - "id": 1156, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "524:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1157, - "length": null, - "nodeType": "ArrayTypeName", - "src": "524:9:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "canonicalName": "Exchange.Fraction", - "id": 1192, - "members": [ - { - "constant": false, - "id": 1161, - "name": "pool", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1192, - "src": "585:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1160, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "585:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1163, - "name": "cost", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1192, - "src": "661:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1162, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "661:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1165, - "name": "odd", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1192, - "src": "731:11:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1164, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "731:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1167, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1192, - "src": "845:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1166, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "845:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1169, - "name": "inPool", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1192, - "src": "944:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1168, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "944:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1171, - "name": "relIn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1192, - "src": "1050:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1170, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1050:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1175, - "name": "inPoolBalances", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1192, - "src": "1145:42:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 1174, - "keyType": { - "id": 1172, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1153:7:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1145:27:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 1173, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1164:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1177, - "name": "outPool", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1192, - "src": "1291:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1176, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1291:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1179, - "name": "relOut", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1192, - "src": "1391:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1178, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1391:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1183, - "name": "outPoolBalances", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1192, - "src": "1489:43:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 1182, - "keyType": { - "id": 1180, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1497:7:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1489:27:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 1181, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1508:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1185, - "name": "fees", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1192, - "src": "1638:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1184, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1638:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1187, - "name": "liqAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1192, - "src": "1735:17:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1186, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1735:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1191, - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1192, - "src": "1831:37:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 1190, - "keyType": { - "id": 1188, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1839:7:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1831:27:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 1189, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1850:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Fraction", - "nodeType": "StructDefinition", - "scope": 3745, - "src": "559:1404:4", - "visibility": "public" - }, - { - "canonicalName": "Exchange.ResultSpace", - "id": 1203, - "members": [ - { - "constant": false, - "id": 1194, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1203, - "src": "1998:10:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1193, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1998:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1196, - "name": "resultId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1203, - "src": "2087:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1195, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2087:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1198, - "name": "fraction", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1203, - "src": "2153:17:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage_ptr", - "typeString": "struct Exchange.Fraction" - }, - "typeName": { - "contractScope": null, - "id": 1197, - "name": "Fraction", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1192, - "src": "2153:8:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage_ptr", - "typeString": "struct Exchange.Fraction" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1202, - "name": "tookWinnings", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1203, - "src": "2232:37:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "typeName": { - "id": 1201, - "keyType": { - "id": 1199, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2240:7:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "2232:24:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 1200, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2251:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "ResultSpace", - "nodeType": "StructDefinition", - "scope": 3745, - "src": "1969:340:4", - "visibility": "public" - }, - { - "canonicalName": "Exchange.Event", - "id": 1216, - "members": [ - { - "constant": false, - "id": 1205, - "name": "name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1216, - "src": "2338:11:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1204, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2338:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1209, - "name": "resultSpaces", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1216, - "src": "2376:44:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1203_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace)" - }, - "typeName": { - "id": 1208, - "keyType": { - "id": 1206, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2384:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "2376:31:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1203_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace)" - }, - "valueType": { - "contractScope": null, - "id": 1207, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1203, - "src": "2395:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1211, - "name": "result", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1216, - "src": "2430:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1210, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2430:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1213, - "name": "urlOracle", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1216, - "src": "2493:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1212, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2493:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1215, - "name": "isResolved", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1216, - "src": "2556:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1214, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2556:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Event", - "nodeType": "StructDefinition", - "scope": 3745, - "src": "2315:281:4", - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 1222, - "name": "CreateEvent", - "nodeType": "EventDefinition", - "parameters": { - "id": 1221, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1218, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1222, - "src": "2624:18:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1217, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2624:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1220, - "indexed": true, - "name": "name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1222, - "src": "2644:19:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1219, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2644:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2623:41:4" - }, - "src": "2606:59:4" - }, - { - "anonymous": false, - "documentation": null, - "id": 1234, - "name": "BuyEvent", - "nodeType": "EventDefinition", - "parameters": { - "id": 1233, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1224, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1234, - "src": "2685:18:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1223, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2685:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1226, - "indexed": true, - "name": "resultSpaceId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1234, - "src": "2705:29:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1225, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2705:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1228, - "indexed": false, - "name": "fractionAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1234, - "src": "2736:22:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1227, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2736:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1230, - "indexed": false, - "name": "fractionCost", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1234, - "src": "2760:20:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1229, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2760:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1232, - "indexed": true, - "name": "buyer", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1234, - "src": "2782:21:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1231, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2782:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2684:120:4" - }, - "src": "2670:135:4" - }, - { - "anonymous": false, - "documentation": null, - "id": 1240, - "name": "CloseEvent", - "nodeType": "EventDefinition", - "parameters": { - "id": 1239, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1236, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1240, - "src": "2827:18:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1235, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2827:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1238, - "indexed": true, - "name": "resultSpaceId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1240, - "src": "2847:29:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1237, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2847:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2826:51:4" - }, - "src": "2810:68:4" - }, - { - "anonymous": false, - "documentation": null, - "id": 1248, - "name": "WithdrawEvent", - "nodeType": "EventDefinition", - "parameters": { - "id": 1247, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1242, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1248, - "src": "2903:18:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1241, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2903:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1244, - "indexed": false, - "name": "winAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1248, - "src": "2923:17:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1243, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2923:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1246, - "indexed": true, - "name": "buyer", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1248, - "src": "2942:21:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1245, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2942:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2902:62:4" - }, - "src": "2883:82:4" - }, - { - "anonymous": false, - "documentation": null, - "id": 1256, - "name": "SellEvent", - "nodeType": "EventDefinition", - "parameters": { - "id": 1255, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1250, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1256, - "src": "2986:18:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1249, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2986:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1252, - "indexed": false, - "name": "liquidateAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1256, - "src": "3006:23:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1251, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3006:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1254, - "indexed": true, - "name": "seller", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1256, - "src": "3031:22:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1253, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3031:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2985:69:4" - }, - "src": "2970:85:4" - }, - { - "body": { - "id": 1259, - "nodeType": "Block", - "src": "3082:15:4", - "statements": [] - }, - "documentation": null, - "id": 1260, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1257, - "nodeType": "ParameterList", - "parameters": [], - "src": "3072:2:4" - }, - "returnParameters": { - "id": 1258, - "nodeType": "ParameterList", - "parameters": [], - "src": "3082:0:4" - }, - "scope": 3745, - "src": "3061:36:4", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1275, - "nodeType": "Block", - "src": "3171:62:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 1272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1267, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "3189:6:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1216_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 1269, - "indexExpression": { - "argumentTypes": null, - "id": 1268, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1262, - "src": "3196:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3189:16:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 1270, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "isResolved", - "nodeType": "MemberAccess", - "referencedDeclaration": 1215, - "src": "3189:27:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 1271, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3220:5:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "3189:36:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 1273, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3188:38:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1266, - "id": 1274, - "nodeType": "Return", - "src": "3181:45:4" - } - ] - }, - "documentation": null, - "functionSelector": "a25e6ab2", - "id": 1276, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isEventOpen", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1263, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1262, - "name": "_eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1276, - "src": "3124:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1261, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3124:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3123:18:4" - }, - "returnParameters": { - "id": 1266, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1265, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1276, - "src": "3158:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1264, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3158:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3157:14:4" - }, - "scope": 3745, - "src": "3103:130:4", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1291, - "nodeType": "Block", - "src": "3309:61:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 1288, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1283, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "3327:6:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1216_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 1285, - "indexExpression": { - "argumentTypes": null, - "id": 1284, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1278, - "src": "3334:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3327:16:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 1286, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "isResolved", - "nodeType": "MemberAccess", - "referencedDeclaration": 1215, - "src": "3327:27:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1287, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3358:4:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "3327:35:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 1289, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3326:37:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1282, - "id": 1290, - "nodeType": "Return", - "src": "3319:44:4" - } - ] - }, - "documentation": null, - "functionSelector": "70f7ae95", - "id": 1292, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isEventClosed", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1279, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1278, - "name": "_eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1292, - "src": "3262:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1277, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3262:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3261:18:4" - }, - "returnParameters": { - "id": 1282, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1281, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1292, - "src": "3296:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1280, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3296:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3295:14:4" - }, - "scope": 3745, - "src": "3239:131:4", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1514, - "nodeType": "Block", - "src": "3550:1662:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1310, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1307, - "name": "_resultSpaceIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1295, - "src": "3568:15:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3568:22:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 1309, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3594:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "3568:27:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "526573756c7420537061636573206e65656420746f206265203220", - "id": 1311, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3597:29:4", - "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": 1306, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3560:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3560:67:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1313, - "nodeType": "ExpressionStatement", - "src": "3560:67:4" - }, - { - "assignments": [ - 1315 - ], - "declarations": [ - { - "constant": false, - "id": 1315, - "name": "resultId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1514, - "src": "3638:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1314, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3638:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1317, - "initialValue": { - "argumentTypes": null, - "hexValue": "31", - "id": 1316, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3657:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "nodeType": "VariableDeclarationStatement", - "src": "3638:20:4" - }, - { - "assignments": [ - 1319 - ], - "declarations": [ - { - "constant": false, - "id": 1319, - "name": "fractionAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1514, - "src": "3668:22:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1318, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3668:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1323, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1322, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 1320, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3693:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1321, - "name": "CURRENCY_DECIMALS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1147, - "src": "3697:17:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3693:21:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3668:46:4" - }, - { - "assignments": [ - 1325 - ], - "declarations": [ - { - "constant": false, - "id": 1325, - "name": "initialFractionCost", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1514, - "src": "3724:27:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1324, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3724:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1335, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1333, - "name": "fractionAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1319, - "src": "3796:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1329, - "name": "_resultSpaceIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1295, - "src": "3768:15:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3768:22:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1326, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3754:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3754:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1328, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "3754:13:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1331, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3754:37:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "3754:41:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1334, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3754:57:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3724:87:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1339, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1337, - "name": "initialFractionCost", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1325, - "src": "3850:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1338, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3872:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3850:23:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "496e697469616c204672616374696f6e20436f73742068617320746f206265203e2030", - "id": 1340, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3875:37:4", - "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": 1336, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3842:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1341, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3842:71:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1342, - "nodeType": "ExpressionStatement", - "src": "3842:71:4" - }, - { - "assignments": [ - 1344 - ], - "declarations": [ - { - "constant": false, - "id": 1344, - "name": "_event", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1514, - "src": "3993:20:4", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage_ptr", - "typeString": "struct Exchange.Event" - }, - "typeName": { - "contractScope": null, - "id": 1343, - "name": "Event", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1216, - "src": "3993:5:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage_ptr", - "typeString": "struct Exchange.Event" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1348, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1345, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "4016:6:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1216_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 1347, - "indexExpression": { - "argumentTypes": null, - "id": 1346, - "name": "eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1137, - "src": "4023:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4016:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3993:38:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1353, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1349, - "name": "_event", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1344, - "src": "4041:6:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage_ptr", - "typeString": "struct Exchange.Event storage pointer" - } - }, - "id": 1351, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "name", - "nodeType": "MemberAccess", - "referencedDeclaration": 1205, - "src": "4041:11:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1352, - "name": "_eventName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1299, - "src": "4055:10:4", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "4041:24:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 1354, - "nodeType": "ExpressionStatement", - "src": "4041:24:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1355, - "name": "_event", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1344, - "src": "4075:6:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage_ptr", - "typeString": "struct Exchange.Event storage pointer" - } - }, - "id": 1357, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "urlOracle", - "nodeType": "MemberAccess", - "referencedDeclaration": 1213, - "src": "4075:16:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1358, - "name": "_urlOracle", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1297, - "src": "4094:10:4", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "4075:29:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 1360, - "nodeType": "ExpressionStatement", - "src": "4075:29:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1365, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1361, - "name": "_event", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1344, - "src": "4114:6:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage_ptr", - "typeString": "struct Exchange.Event storage pointer" - } - }, - "id": 1363, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "isResolved", - "nodeType": "MemberAccess", - "referencedDeclaration": 1215, - "src": "4114:17:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 1364, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4134:5:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "4114:25:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1366, - "nodeType": "ExpressionStatement", - "src": "4114:25:4" - }, - { - "body": { - "id": 1493, - "nodeType": "Block", - "src": "4239:835:4", - "statements": [ - { - "assignments": [ - 1379 - ], - "declarations": [ - { - "constant": false, - "id": 1379, - "name": "resultSpace", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1493, - "src": "4254:31:4", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 1378, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1203, - "src": "4254:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1384, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1380, - "name": "_event", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1344, - "src": "4288:6:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage_ptr", - "typeString": "struct Exchange.Event storage pointer" - } - }, - "id": 1381, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1209, - "src": "4288:19:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1203_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 1383, - "indexExpression": { - "argumentTypes": null, - "id": 1382, - "name": "resultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1315, - "src": "4308:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4288:29:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4254:63:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1385, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1379, - "src": "4332:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1387, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "resultId", - "nodeType": "MemberAccess", - "referencedDeclaration": 1196, - "src": "4332:20:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1388, - "name": "resultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1315, - "src": "4355:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4332:31:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1390, - "nodeType": "ExpressionStatement", - "src": "4332:31:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1397, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1391, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1379, - "src": "4377:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1393, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "id", - "nodeType": "MemberAccess", - "referencedDeclaration": 1194, - "src": "4377:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1394, - "name": "_resultSpaceIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1295, - "src": "4394:15:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1396, - "indexExpression": { - "argumentTypes": null, - "id": 1395, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1368, - "src": "4410:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4394:18:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4377:35:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1398, - "nodeType": "ExpressionStatement", - "src": "4377:35:4" - }, - { - "assignments": [ - 1400 - ], - "declarations": [ - { - "constant": false, - "id": 1400, - "name": "fraction", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1493, - "src": "4427:25:4", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage_ptr", - "typeString": "struct Exchange.Fraction" - }, - "typeName": { - "contractScope": null, - "id": 1399, - "name": "Fraction", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1192, - "src": "4427:8:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage_ptr", - "typeString": "struct Exchange.Fraction" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1403, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1401, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1379, - "src": "4455:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1402, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "4455:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4427:48:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1413, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1404, - "name": "fraction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1400, - "src": "4489:8:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage_ptr", - "typeString": "struct Exchange.Fraction storage pointer" - } - }, - "id": 1406, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "4489:13:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1410, - "name": "_resultSpaceIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1295, - "src": "4519:15:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1411, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4519:22:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1407, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4505:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1408, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4505:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1409, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "4505:13:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1412, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4505:37:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4489:53:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1414, - "nodeType": "ExpressionStatement", - "src": "4489:53:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1419, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1415, - "name": "fraction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1400, - "src": "4556:8:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage_ptr", - "typeString": "struct Exchange.Fraction storage pointer" - } - }, - "id": 1417, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "cost", - "nodeType": "MemberAccess", - "referencedDeclaration": 1163, - "src": "4556:13:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1418, - "name": "initialFractionCost", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1325, - "src": "4572:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4556:35:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1420, - "nodeType": "ExpressionStatement", - "src": "4556:35:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1421, - "name": "fraction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1400, - "src": "4605:8:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage_ptr", - "typeString": "struct Exchange.Fraction storage pointer" - } - }, - "id": 1423, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "odd", - "nodeType": "MemberAccess", - "referencedDeclaration": 1165, - "src": "4605:12:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1424, - "name": "_resultSpaceIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1295, - "src": "4620:15:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1425, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4620:22:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1426, - "name": "ODD_DECIMALS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1142, - "src": "4643:12:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4620:35:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4605:50:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1429, - "nodeType": "ExpressionStatement", - "src": "4605:50:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1434, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1430, - "name": "fraction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1400, - "src": "4669:8:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage_ptr", - "typeString": "struct Exchange.Fraction storage pointer" - } - }, - "id": 1432, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1167, - "src": "4669:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1433, - "name": "fractionAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1319, - "src": "4687:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4669:32:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1435, - "nodeType": "ExpressionStatement", - "src": "4669:32:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1440, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1436, - "name": "fraction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1400, - "src": "4715:8:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage_ptr", - "typeString": "struct Exchange.Fraction storage pointer" - } - }, - "id": 1438, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1169, - "src": "4715:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1439, - "name": "fractionAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1319, - "src": "4733:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4715:32:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1441, - "nodeType": "ExpressionStatement", - "src": "4715:32:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1446, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1442, - "name": "fraction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1400, - "src": "4761:8:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage_ptr", - "typeString": "struct Exchange.Fraction storage pointer" - } - }, - "id": 1444, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1171, - "src": "4761:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1445, - "name": "fractionAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1319, - "src": "4778:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4761:31:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1447, - "nodeType": "ExpressionStatement", - "src": "4761:31:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1452, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1448, - "name": "fraction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1400, - "src": "4806:8:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage_ptr", - "typeString": "struct Exchange.Fraction storage pointer" - } - }, - "id": 1450, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "outPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1177, - "src": "4806:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 1451, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4825:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4806:20:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1453, - "nodeType": "ExpressionStatement", - "src": "4806:20:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1458, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1454, - "name": "fraction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1400, - "src": "4840:8:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage_ptr", - "typeString": "struct Exchange.Fraction storage pointer" - } - }, - "id": 1456, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "relOut", - "nodeType": "MemberAccess", - "referencedDeclaration": 1179, - "src": "4840:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 1457, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4858:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4840:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1459, - "nodeType": "ExpressionStatement", - "src": "4840:19:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1460, - "name": "fraction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1400, - "src": "4873:8:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage_ptr", - "typeString": "struct Exchange.Fraction storage pointer" - } - }, - "id": 1462, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "fees", - "nodeType": "MemberAccess", - "referencedDeclaration": 1185, - "src": "4873:13:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 1463, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4889:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4873:17:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1465, - "nodeType": "ExpressionStatement", - "src": "4873:17:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1470, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1466, - "name": "fraction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1400, - "src": "4904:8:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage_ptr", - "typeString": "struct Exchange.Fraction storage pointer" - } - }, - "id": 1468, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "liqAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1187, - "src": "4904:18:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 1469, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4925:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4904:22:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1471, - "nodeType": "ExpressionStatement", - "src": "4904:22:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1476, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1472, - "name": "resultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1315, - "src": "4941:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1475, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1473, - "name": "resultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1315, - "src": "4952:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 1474, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4963:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "4952:12:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4941:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1477, - "nodeType": "ExpressionStatement", - "src": "4941:23:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1491, - "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": 1478, - "name": "_event", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1344, - "src": "4978:6:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage_ptr", - "typeString": "struct Exchange.Event storage pointer" - } - }, - "id": 1481, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1209, - "src": "4978:19:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1203_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 1482, - "indexExpression": { - "argumentTypes": null, - "id": 1480, - "name": "resultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1315, - "src": "4998:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4978:29:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "id": 1483, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "4978:38:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1484, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1175, - "src": "4978:53:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 1489, - "indexExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1487, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "5040:4:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Exchange_$3745", - "typeString": "contract Exchange" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Exchange_$3745", - "typeString": "contract Exchange" - } - ], - "id": 1486, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5032:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1485, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5032:7:4", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 1488, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5032:13:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4978:68:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1490, - "name": "fractionAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1319, - "src": "5049:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4978:85:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1492, - "nodeType": "ExpressionStatement", - "src": "4978:85:4" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1374, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1371, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1368, - "src": "4206:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1372, - "name": "_resultSpaceIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1295, - "src": "4210:15:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1373, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4210:22:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4206:26:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1494, - "initializationExpression": { - "assignments": [ - 1368 - ], - "declarations": [ - { - "constant": false, - "id": 1368, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1494, - "src": "4194:6:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1367, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4194:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1370, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 1369, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4203:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "4194:10:4" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 1376, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "4234:3:4", - "subExpression": { - "argumentTypes": null, - "id": 1375, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1368, - "src": "4234:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1377, - "nodeType": "ExpressionStatement", - "src": "4234:3:4" - }, - "nodeType": "ForStatement", - "src": "4189:885:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1498, - "name": "eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1137, - "src": "5098:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1495, - "name": "eventIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1150, - "src": "5084:8:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 1497, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5084:13:4", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 1499, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5084:22:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1500, - "nodeType": "ExpressionStatement", - "src": "5084:22:4" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1502, - "name": "eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1137, - "src": "5133:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1503, - "name": "_eventName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1299, - "src": "5142:10:4", - "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": 1501, - "name": "CreateEvent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1222, - "src": "5121:11:4", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (uint256,string memory)" - } - }, - "id": 1504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5121:32:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1505, - "nodeType": "EmitStatement", - "src": "5116:37:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1510, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1506, - "name": "eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1137, - "src": "5163:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1509, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1507, - "name": "eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1137, - "src": "5173:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 1508, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5183:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "5173:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5163:21:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1511, - "nodeType": "ExpressionStatement", - "src": "5163:21:4" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1512, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5201:4:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 1305, - "id": 1513, - "nodeType": "Return", - "src": "5194:11:4" - } - ] - }, - "documentation": null, - "functionSelector": "54549f96", - "id": 1515, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 1302, - "modifierName": { - "argumentTypes": null, - "id": 1301, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7154, - "src": "3517:9:4", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3517:9:4" - } - ], - "name": "createEvent", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1300, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1295, - "name": "_resultSpaceIds", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1515, - "src": "3397:32:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1293, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3397:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1294, - "length": null, - "nodeType": "ArrayTypeName", - "src": "3397:9:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1297, - "name": "_urlOracle", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1515, - "src": "3450:24:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1296, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3450:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1299, - "name": "_eventName", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1515, - "src": "3476:24:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1298, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3476:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3396:105:4" - }, - "returnParameters": { - "id": 1305, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1304, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1515, - "src": "3536:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1303, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3536:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3535:14:4" - }, - "scope": 3745, - "src": "3376:1836:4", - "stateMutability": "payable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1906, - "nodeType": "Block", - "src": "5296:3013:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1524, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1517, - "src": "5326:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1523, - "name": "isEventOpen", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1276, - "src": "5314:11:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 1525, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5314:21:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1522, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5306:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1526, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5306:30:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1527, - "nodeType": "ExpressionStatement", - "src": "5306:30:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1532, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1529, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5354:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1530, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5354:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1531, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5366:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5354:13:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416d6f756e742068617320746f206265203e2030", - "id": 1533, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5369:22:4", - "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": 1528, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5346:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1534, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5346:46:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1535, - "nodeType": "ExpressionStatement", - "src": "5346:46:4" - }, - { - "assignments": [ - 1537 - ], - "declarations": [ - { - "constant": false, - "id": 1537, - "name": "resultSpace_opp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1906, - "src": "5403:35:4", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 1536, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1203, - "src": "5403:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1544, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1538, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "5441:6:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1216_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 1540, - "indexExpression": { - "argumentTypes": null, - "id": 1539, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1517, - "src": "5448:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5441:16:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 1541, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1209, - "src": "5441:29:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1203_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 1543, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 1542, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5471:1:4", - "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:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5403:70:4" - }, - { - "assignments": [ - 1546 - ], - "declarations": [ - { - "constant": false, - "id": 1546, - "name": "resultSpace", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1906, - "src": "5483:31:4", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 1545, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1203, - "src": "5483:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1553, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1547, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "5517:6:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1216_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 1549, - "indexExpression": { - "argumentTypes": null, - "id": 1548, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1517, - "src": "5524:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5517:16:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 1550, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1209, - "src": "5517:29:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1203_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 1552, - "indexExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 1551, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5547:1:4", - "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:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5483:66:4" - }, - { - "assignments": [ - 1555 - ], - "declarations": [ - { - "constant": false, - "id": 1555, - "name": "poolA2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1906, - "src": "5560:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1554, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5560:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1557, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 1556, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5577:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "5560:18:4" - }, - { - "assignments": [ - 1559 - ], - "declarations": [ - { - "constant": false, - "id": 1559, - "name": "poolB2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1906, - "src": "5588:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1558, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5588:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1561, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 1560, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5605:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "5588:18:4" - }, - { - "assignments": [ - 1563 - ], - "declarations": [ - { - "constant": false, - "id": 1563, - "name": "FA2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1906, - "src": "5616:11:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1562, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5616:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1565, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 1564, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5630:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "5616:15:4" - }, - { - "assignments": [ - 1567 - ], - "declarations": [ - { - "constant": false, - "id": 1567, - "name": "FB2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1906, - "src": "5641:11:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1566, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5641:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1569, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 1568, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5655:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "5641:15:4" - }, - { - "assignments": [ - 1571 - ], - "declarations": [ - { - "constant": false, - "id": 1571, - "name": "ratio", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1906, - "src": "5666:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1570, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5666:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1573, - "initialValue": { - "argumentTypes": null, - "hexValue": "3530", - "id": 1572, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5682:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_50_by_1", - "typeString": "int_const 50" - }, - "value": "50" - }, - "nodeType": "VariableDeclarationStatement", - "src": "5666:18:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1588, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1574, - "name": "poolA2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1555, - "src": "5791:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "313030", - "id": 1585, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5855:3:4", - "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": 1582, - "name": "ratio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1571, - "src": "5844:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1579, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5830:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1580, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5830:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1581, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "5830:13:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1583, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5830:20:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1584, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "5830:24:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1586, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5830:29:4", - "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": 1575, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1546, - "src": "5800:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1576, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "5800:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1577, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "5800:25:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1578, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7419, - "src": "5800:29:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1587, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5800:60:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5791:69:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1589, - "nodeType": "ExpressionStatement", - "src": "5791:69:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1604, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1590, - "name": "poolB2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1559, - "src": "5892:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "313030", - "id": 1601, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5960:3:4", - "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": 1598, - "name": "ratio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1571, - "src": "5949:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1595, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5935:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1596, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5935:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1597, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "5935:13:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1599, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5935:20:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1600, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "5935:24:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1602, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5935:29:4", - "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": 1591, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1537, - "src": "5901:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1592, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "5901:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1593, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "5901:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1594, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7419, - "src": "5901:33:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1603, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5901:64:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5892:73:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1605, - "nodeType": "ExpressionStatement", - "src": "5892:73:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1606, - "name": "FA2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1563, - "src": "5994:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1615, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1546, - "src": "6046:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1616, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "6046:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1617, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "6046:25:4", - "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": 1609, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1546, - "src": "6012:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1610, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "6012:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1611, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1167, - "src": "6012:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1607, - "name": "poolA2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1555, - "src": "6001:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1608, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "6001:10:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1612, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6001:39:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1613, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "6000:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1614, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "6000:45:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1618, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6000:72:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5994:78:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1620, - "nodeType": "ExpressionStatement", - "src": "5994:78:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1634, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1621, - "name": "FB2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1567, - "src": "6100:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1630, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1537, - "src": "6156:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1631, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "6156:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1632, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "6156:29:4", - "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": 1624, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1537, - "src": "6118:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1625, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "6118:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1626, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1167, - "src": "6118:31:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1622, - "name": "poolB2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1559, - "src": "6107:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1623, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "6107:10:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6107:43:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1628, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "6106:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1629, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "6106:49:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1633, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6106:80:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6100:86:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1635, - "nodeType": "ExpressionStatement", - "src": "6100:86:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1636, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1546, - "src": "6197:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1639, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "6197:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1640, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "6197:25:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1641, - "name": "poolA2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1555, - "src": "6225:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6197:34:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1643, - "nodeType": "ExpressionStatement", - "src": "6197:34:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1650, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1644, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1537, - "src": "6241:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1647, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "6241:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1648, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "6241:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1649, - "name": "poolB2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1559, - "src": "6273:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6241:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1651, - "nodeType": "ExpressionStatement", - "src": "6241:38:4" - }, - { - "assignments": [ - 1653 - ], - "declarations": [ - { - "constant": false, - "id": 1653, - "name": "fractionsToAddA", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1906, - "src": "6290:23:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1652, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6290:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1660, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1656, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1546, - "src": "6324:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1657, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "6324:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1658, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1167, - "src": "6324:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1654, - "name": "FA2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1563, - "src": "6316:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1655, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7440, - "src": "6316:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1659, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6316:36:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6290:62:4" - }, - { - "assignments": [ - 1662 - ], - "declarations": [ - { - "constant": false, - "id": 1662, - "name": "fractionsToAddB", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1906, - "src": "6362:23:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1661, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6362:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1669, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1665, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1537, - "src": "6396:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1666, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "6396:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1667, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1167, - "src": "6396:31:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1663, - "name": "FB2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1567, - "src": "6388:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1664, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7440, - "src": "6388:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1668, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6388:40:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6362:66:4" - }, - { - "assignments": [ - 1671 - ], - "declarations": [ - { - "constant": false, - "id": 1671, - "name": "inPoolA2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1906, - "src": "6439:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1670, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6439:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1678, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1676, - "name": "fractionsToAddA", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1653, - "src": "6490:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1672, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1546, - "src": "6458:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1673, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "6458:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1674, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1169, - "src": "6458:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7419, - "src": "6458:31:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1677, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6458:48:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6439:67:4" - }, - { - "assignments": [ - 1680 - ], - "declarations": [ - { - "constant": false, - "id": 1680, - "name": "inPoolB2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1906, - "src": "6516:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1679, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6516:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1687, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1685, - "name": "fractionsToAddB", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1662, - "src": "6571:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1681, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1537, - "src": "6535:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1682, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "6535:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1683, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1169, - "src": "6535:31:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1684, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7419, - "src": "6535:35:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1686, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6535:52:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6516:71:4" - }, - { - "assignments": [ - 1689 - ], - "declarations": [ - { - "constant": false, - "id": 1689, - "name": "relIn2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1906, - "src": "6598:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1688, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6598:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1691, - "initialValue": { - "argumentTypes": null, - "id": 1690, - "name": "fractionsToAddA", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1653, - "src": "6615:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6598:32:4" - }, - { - "assignments": [ - 1693 - ], - "declarations": [ - { - "constant": false, - "id": 1693, - "name": "relIn2_opp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1906, - "src": "6640:18:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1692, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6640:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1695, - "initialValue": { - "argumentTypes": null, - "id": 1694, - "name": "fractionsToAddB", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1662, - "src": "6661:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6640:36:4" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1700, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1696, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1546, - "src": "6690:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1697, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "6690:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1698, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1171, - "src": "6690:26:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1699, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6719:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6690:30:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 1716, - "nodeType": "IfStatement", - "src": "6687:141:4", - "trueBody": { - "id": 1715, - "nodeType": "Block", - "src": "6721:107:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1713, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1701, - "name": "relIn2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1689, - "src": "6735:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1709, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1546, - "src": "6789:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1710, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "6789:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1711, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1169, - "src": "6789:27:4", - "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": 1704, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1546, - "src": "6757:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1705, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "6757:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1706, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1171, - "src": "6757:26:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1702, - "name": "inPoolA2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1671, - "src": "6744:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1703, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "6744:12:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1707, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6744:40:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1708, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "6744:44:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1712, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6744:73:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6735:82:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1714, - "nodeType": "ExpressionStatement", - "src": "6735:82:4" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1721, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1717, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1537, - "src": "6840:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1718, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "6840:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1719, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1171, - "src": "6840:30:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1720, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6873:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6840:34:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 1737, - "nodeType": "IfStatement", - "src": "6837:157:4", - "trueBody": { - "id": 1736, - "nodeType": "Block", - "src": "6875:119:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1734, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1722, - "name": "relIn2_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1693, - "src": "6889:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1730, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1537, - "src": "6951:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1731, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "6951:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1732, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1169, - "src": "6951:31:4", - "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": 1725, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1537, - "src": "6915:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1726, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "6915:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1727, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1171, - "src": "6915:30:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1723, - "name": "inPoolB2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1680, - "src": "6902:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1724, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "6902:12:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1728, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6902:44:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1729, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "6902:48:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6902:81:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6889:94:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1735, - "nodeType": "ExpressionStatement", - "src": "6889:94:4" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 1744, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1738, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1546, - "src": "7031:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1741, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "7031:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1742, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1169, - "src": "7031:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1743, - "name": "inPoolA2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1671, - "src": "7061:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7031:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1745, - "nodeType": "ExpressionStatement", - "src": "7031:38:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1752, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1746, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1537, - "src": "7098:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1749, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "7098:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1750, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1169, - "src": "7098:31:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1751, - "name": "inPoolB2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1680, - "src": "7132:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7098:42:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1753, - "nodeType": "ExpressionStatement", - "src": "7098:42:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1776, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1754, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1546, - "src": "7172:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1759, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "7172:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1760, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1175, - "src": "7172:35:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 1761, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1757, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7208:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7208:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7172:47:4", - "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": 1771, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1546, - "src": "7285:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1772, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "7285:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1773, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1171, - "src": "7285:26:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1769, - "name": "relIn2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1689, - "src": "7274:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1770, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7440, - "src": "7274:10:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1774, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7274:38:4", - "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": 1762, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1546, - "src": "7222:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1763, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "7222:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1764, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1175, - "src": "7222:35:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 1767, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1765, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7258:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7258:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7222:47:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1768, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7419, - "src": "7222:51:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1775, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7222:91:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7172:141:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1777, - "nodeType": "ExpressionStatement", - "src": "7172:141:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1800, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1778, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1537, - "src": "7344:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1783, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "7344:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1784, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1175, - "src": "7344:39:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 1785, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1781, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7384:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1782, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7384:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7344:51:4", - "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": 1795, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1537, - "src": "7469:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1796, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "7469:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1797, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1171, - "src": "7469:30:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1793, - "name": "relIn2_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1693, - "src": "7454:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1794, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7440, - "src": "7454:14:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1798, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7454:46:4", - "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": 1786, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1537, - "src": "7398:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1787, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "7398:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1788, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1175, - "src": "7398:39:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 1791, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1789, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7438:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1790, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7438:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7398:51:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7419, - "src": "7398:55:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1799, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7398:103:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7344:157:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1801, - "nodeType": "ExpressionStatement", - "src": "7344:157:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1819, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1802, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1546, - "src": "7534:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1807, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "7534:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1808, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1191, - "src": "7534:30:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 1809, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1805, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7565:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1806, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7565:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7534:42:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1817, - "name": "fractionsToAddA", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1653, - "src": "7626:15:4", - "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": 1810, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1546, - "src": "7579:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1811, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "7579:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1812, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1191, - "src": "7579:30:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 1815, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1813, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7610:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1814, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7610:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7579:42:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1816, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7419, - "src": "7579:46:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1818, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7579:63:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7534:108:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1820, - "nodeType": "ExpressionStatement", - "src": "7534:108:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1838, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1821, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1537, - "src": "7674:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1826, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "7674:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1827, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1191, - "src": "7674:34:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 1828, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1824, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7709:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1825, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7709:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7674:46:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1836, - "name": "fractionsToAddB", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1662, - "src": "7774:15:4", - "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": 1829, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1537, - "src": "7723:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1830, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "7723:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1831, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1191, - "src": "7723:34:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 1834, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1832, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7758:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1833, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7758:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7723:46:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1835, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7419, - "src": "7723:50:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1837, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7723:67:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7674:116:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1839, - "nodeType": "ExpressionStatement", - "src": "7674:116:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1846, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1840, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1546, - "src": "7821:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1843, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "7821:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1844, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1171, - "src": "7821:26:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1845, - "name": "relIn2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1689, - "src": "7850:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7821:35:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1847, - "nodeType": "ExpressionStatement", - "src": "7821:35:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1854, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1848, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1537, - "src": "7886:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1851, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "7886:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1852, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1171, - "src": "7886:30:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1853, - "name": "relIn2_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1693, - "src": "7919:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7886:43:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1855, - "nodeType": "ExpressionStatement", - "src": "7886:43:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1862, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1856, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1546, - "src": "7940:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1859, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "7940:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1860, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1167, - "src": "7940:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1861, - "name": "FA2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1563, - "src": "7970:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7940:33:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1863, - "nodeType": "ExpressionStatement", - "src": "7940:33:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1870, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1864, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1537, - "src": "7983:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1867, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "7983:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1868, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1167, - "src": "7983:31:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1869, - "name": "FB2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1567, - "src": "8017:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7983:37:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1871, - "nodeType": "ExpressionStatement", - "src": "7983:37:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1883, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1872, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1546, - "src": "8066:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1875, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "8066:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1876, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "liqAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1187, - "src": "8066:30:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1881, - "name": "fractionsToAddA", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1653, - "src": "8134:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1877, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1546, - "src": "8099:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1878, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "8099:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1879, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liqAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1187, - "src": "8099:30:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1880, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7419, - "src": "8099:34:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1882, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8099:51:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8066:84:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1884, - "nodeType": "ExpressionStatement", - "src": "8066:84:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1896, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1885, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1537, - "src": "8160:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1888, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "8160:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1889, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "liqAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1187, - "src": "8160:34:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1894, - "name": "fractionsToAddB", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1662, - "src": "8232:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1890, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1546, - "src": "8197:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1891, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "8197:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1892, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liqAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1187, - "src": "8197:30:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1893, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7419, - "src": "8197:34:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1895, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8197:51:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8160:88:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1897, - "nodeType": "ExpressionStatement", - "src": "8160:88:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1903, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1517, - "src": "8293:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1898, - "name": "myEvents", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1159, - "src": "8267:8:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 1901, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1899, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8276:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1900, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8276:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8267:20:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 1902, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8267:25:4", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 1904, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8267:35:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1905, - "nodeType": "ExpressionStatement", - "src": "8267:35:4" - } - ] - }, - "documentation": null, - "functionSelector": "51c6590a", - "id": 1907, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "addLiquidity", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1518, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1517, - "name": "_eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1907, - "src": "5240:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1516, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5240:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5239:18:4" - }, - "returnParameters": { - "id": 1521, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1520, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1907, - "src": "5282:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1519, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5282:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5281:14:4" - }, - "scope": 3745, - "src": "5218:3091:4", - "stateMutability": "payable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2323, - "nodeType": "Block", - "src": "8388:3316:4", - "statements": [ - { - "assignments": [ - 1915 - ], - "declarations": [ - { - "constant": false, - "id": 1915, - "name": "resultSpace_opp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2323, - "src": "8399:35:4", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 1914, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1203, - "src": "8399:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1922, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1916, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "8437:6:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1216_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 1918, - "indexExpression": { - "argumentTypes": null, - "id": 1917, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1909, - "src": "8444:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8437:16:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 1919, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1209, - "src": "8437:29:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1203_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 1921, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 1920, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8467:1:4", - "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:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8399:70:4" - }, - { - "assignments": [ - 1924 - ], - "declarations": [ - { - "constant": false, - "id": 1924, - "name": "resultSpace", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2323, - "src": "8479:31:4", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 1923, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1203, - "src": "8479:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1931, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1925, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "8513:6:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1216_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 1927, - "indexExpression": { - "argumentTypes": null, - "id": 1926, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1909, - "src": "8520:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8513:16:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 1928, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1209, - "src": "8513:29:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1203_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 1930, - "indexExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 1929, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8543:1:4", - "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:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8479:66:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1940, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1933, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1924, - "src": "8572:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1934, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "8572:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1935, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1191, - "src": "8572:30:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 1938, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1936, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8603:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1937, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8603:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8572:42:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1939, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8617:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8572:46:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4c69717569646974792068617320746f20626967676572207468616e2030", - "id": 1941, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8620:32:4", - "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": 1932, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "8564:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1942, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8564:89:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1943, - "nodeType": "ExpressionStatement", - "src": "8564:89:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1952, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1945, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1915, - "src": "8671:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1946, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "8671:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1947, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1191, - "src": "8671:34:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 1950, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1948, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8706:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1949, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8706:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8671:46:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1951, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8720:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8671:50:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4c69717569646974792068617320746f20626967676572207468616e2030", - "id": 1953, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8723:32:4", - "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": 1944, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "8663:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1954, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8663:93:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1955, - "nodeType": "ExpressionStatement", - "src": "8663:93:4" - }, - { - "assignments": [ - 1957 - ], - "declarations": [ - { - "constant": false, - "id": 1957, - "name": "poolA2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2323, - "src": "8767:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1956, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8767:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1959, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 1958, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8784:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "8767:18:4" - }, - { - "assignments": [ - 1961 - ], - "declarations": [ - { - "constant": false, - "id": 1961, - "name": "poolB2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2323, - "src": "8795:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1960, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8795:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1963, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 1962, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8812:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "8795:18:4" - }, - { - "assignments": [ - 1965 - ], - "declarations": [ - { - "constant": false, - "id": 1965, - "name": "liqPoolAfromUser", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2323, - "src": "8824:24:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1964, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8824:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1982, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1978, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1924, - "src": "8929:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1979, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "8929:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1980, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1167, - "src": "8929:27:4", - "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": 1973, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1924, - "src": "8898:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1974, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "8898:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1975, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "8898:25:4", - "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": 1966, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1924, - "src": "8851:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1967, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "8851:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1968, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1191, - "src": "8851:30:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 1971, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1969, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8882:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1970, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8882:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8851:42:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1972, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "8851:46:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1976, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8851:73:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1977, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "8851:77:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1981, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8851:106:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8824:133:4" - }, - { - "assignments": [ - 1984 - ], - "declarations": [ - { - "constant": false, - "id": 1984, - "name": "liqPoolBfromUser", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2323, - "src": "8967:24:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1983, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8967:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2001, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1997, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1915, - "src": "9080:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1998, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "9080:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1999, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1167, - "src": "9080:31:4", - "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": 1992, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1915, - "src": "9045:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1993, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "9045:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1994, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "9045:29:4", - "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": 1985, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1915, - "src": "8994:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1986, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "8994:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1987, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1191, - "src": "8994:34:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 1990, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1988, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "9029:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1989, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9029:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8994:46:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1991, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "8994:50:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1995, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8994:81:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1996, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "8994:85:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2000, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8994:118:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8967:145:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2013, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2002, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1924, - "src": "9153:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2005, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "9153:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2006, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "9153:25:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2011, - "name": "liqPoolAfromUser", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1965, - "src": "9211:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2007, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1924, - "src": "9181:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2008, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "9181:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2009, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "9181:25:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2010, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7440, - "src": "9181:29:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2012, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9181:47:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9153:75:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2014, - "nodeType": "ExpressionStatement", - "src": "9153:75:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2026, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2015, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1915, - "src": "9260:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2018, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "9260:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2019, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "9260:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2024, - "name": "liqPoolBfromUser", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1984, - "src": "9326:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2020, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1915, - "src": "9292:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2021, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "9292:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2022, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "9292:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2023, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7440, - "src": "9292:33:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2025, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9292:51:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9260:83:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2027, - "nodeType": "ExpressionStatement", - "src": "9260:83:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2044, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2028, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1924, - "src": "9372:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2031, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "9372:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2032, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1167, - "src": "9372:27:4", - "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": 2037, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1924, - "src": "9434:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2038, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "9434:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2039, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1191, - "src": "9434:30:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2042, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2040, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "9465:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2041, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9465:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9434:42:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2033, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1924, - "src": "9402:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2034, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "9402:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2035, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1167, - "src": "9402:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7440, - "src": "9402:31:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2043, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9402:75:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9372:105:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2045, - "nodeType": "ExpressionStatement", - "src": "9372:105:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2062, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2046, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1915, - "src": "9505:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2049, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "9505:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2050, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1167, - "src": "9505:31:4", - "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": 2055, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1915, - "src": "9575:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2056, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "9575:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2057, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1191, - "src": "9575:34:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2060, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2058, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "9610:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2059, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9610:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9575:46:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2051, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1915, - "src": "9539:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2052, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "9539:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2053, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1167, - "src": "9539:31:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2054, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7440, - "src": "9539:35:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2061, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9539:83:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9505:117:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2063, - "nodeType": "ExpressionStatement", - "src": "9505:117:4" - }, - { - "assignments": [ - 2065 - ], - "declarations": [ - { - "constant": false, - "id": 2065, - "name": "inPoolA2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2323, - "src": "9652:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2064, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9652:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2077, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2070, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1924, - "src": "9703:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2071, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "9703:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2072, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1191, - "src": "9703:30:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2075, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2073, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "9734:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2074, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9734:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9703:42:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2066, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1924, - "src": "9671:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2067, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "9671:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2068, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1169, - "src": "9671:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2069, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7440, - "src": "9671:31:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2076, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9671:75:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9652:94:4" - }, - { - "assignments": [ - 2079 - ], - "declarations": [ - { - "constant": false, - "id": 2079, - "name": "inPoolB2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2323, - "src": "9775:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2078, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9775:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2091, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2084, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1915, - "src": "9830:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2085, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "9830:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2086, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1191, - "src": "9830:34:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2089, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2087, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "9865:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2088, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9865:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9830:46:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2080, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1915, - "src": "9794:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2081, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "9794:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2082, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1169, - "src": "9794:31:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2083, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7440, - "src": "9794:35:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2090, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9794:83:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9775:102:4" - }, - { - "assignments": [ - 2093 - ], - "declarations": [ - { - "constant": false, - "id": 2093, - "name": "relAIn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2323, - "src": "9908:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2092, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9908:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2105, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2101, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1924, - "src": "9970:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2102, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "9970:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2103, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1169, - "src": "9970:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2098, - "name": "inPoolA2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2065, - "src": "9956:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2094, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1924, - "src": "9925:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2095, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "9925:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2096, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1171, - "src": "9925:26:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2097, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "9925:30:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2099, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9925:40:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2100, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "9925:44:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2104, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9925:73:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9908:90:4" - }, - { - "assignments": [ - 2107 - ], - "declarations": [ - { - "constant": false, - "id": 2107, - "name": "relBIn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2323, - "src": "10028:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2106, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10028:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2119, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2115, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1915, - "src": "10094:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2116, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "10094:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2117, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1169, - "src": "10094:31:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2112, - "name": "inPoolB2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2079, - "src": "10080:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2108, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1915, - "src": "10045:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2109, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "10045:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2110, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1171, - "src": "10045:30:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2111, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "10045:34:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2113, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10045:44:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2114, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "10045:48:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2118, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10045:81:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10028:98:4" - }, - { - "assignments": [ - 2121 - ], - "declarations": [ - { - "constant": false, - "id": 2121, - "name": "initialFractionsA", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2323, - "src": "10176:25:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2120, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10176:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2138, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2134, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1924, - "src": "10289:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2135, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "10289:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2136, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1171, - "src": "10289:26:4", - "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": 2129, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1924, - "src": "10256:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2130, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "10256:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2131, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1169, - "src": "10256:27:4", - "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": 2122, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1924, - "src": "10204:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2123, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "10204:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2124, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1175, - "src": "10204:35:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2127, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2125, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10240:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2126, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10240:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10204:47:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2128, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "10204:51:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2132, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10204:80:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2133, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "10204:84:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2137, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10204:112:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10176:140:4" - }, - { - "assignments": [ - 2140 - ], - "declarations": [ - { - "constant": false, - "id": 2140, - "name": "initialFractionsB", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2323, - "src": "10326:25:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2139, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10326:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2157, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2153, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1915, - "src": "10447:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2154, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "10447:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2155, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1171, - "src": "10447:30:4", - "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": 2148, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1915, - "src": "10410:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2149, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "10410:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2150, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1169, - "src": "10410:31:4", - "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": 2141, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1915, - "src": "10354:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2142, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "10354:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2143, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1175, - "src": "10354:39:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2146, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2144, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10394:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2145, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10394:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10354:51:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2147, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "10354:55:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2151, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10354:88:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "10354:92:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2156, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10354:124:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10326:152:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2181, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2158, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1924, - "src": "10510:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2163, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "10510:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2164, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1175, - "src": "10510:35:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2165, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2161, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10546:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10546:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10510:47:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2179, - "name": "inPoolA2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2065, - "src": "10642:8:4", - "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": 2170, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1924, - "src": "10593:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2171, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "10593:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2172, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1191, - "src": "10593:30:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2175, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2173, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10624:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10624:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10593:42:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2168, - "name": "initialFractionsA", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2121, - "src": "10571:17:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2169, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7440, - "src": "10571:21:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2176, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10571:65:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2166, - "name": "relAIn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2093, - "src": "10560:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2167, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "10560:10:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10560:77:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2178, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "10560:81:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10560:91:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10510:141:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2182, - "nodeType": "ExpressionStatement", - "src": "10510:141:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2183, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1915, - "src": "10682:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2188, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "10682:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2189, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1175, - "src": "10682:39:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2190, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2186, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10722:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2187, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10722:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10682:51:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2204, - "name": "inPoolB2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2079, - "src": "10822:8:4", - "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": 2195, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1915, - "src": "10769:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2196, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "10769:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2197, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1191, - "src": "10769:34:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2200, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2198, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10804:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2199, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10804:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10769:46:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2193, - "name": "initialFractionsB", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2140, - "src": "10747:17:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2194, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7440, - "src": "10747:21:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2201, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10747:69:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2191, - "name": "relBIn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2107, - "src": "10736:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2192, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "10736:10:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2202, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10736:81:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2203, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "10736:85:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2205, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10736:95:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10682:149:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2207, - "nodeType": "ExpressionStatement", - "src": "10682:149:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2214, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2208, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1924, - "src": "10842:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2211, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "10842:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2212, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1169, - "src": "10842:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2213, - "name": "inPoolA2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2065, - "src": "10872:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10842:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2215, - "nodeType": "ExpressionStatement", - "src": "10842:38:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2216, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1915, - "src": "10890:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2219, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "10890:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2220, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1169, - "src": "10890:31:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2221, - "name": "inPoolB2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2079, - "src": "10924:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10890:42:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2223, - "nodeType": "ExpressionStatement", - "src": "10890:42:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2230, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2224, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1924, - "src": "10943:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2227, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "10943:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2228, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1171, - "src": "10943:26:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2229, - "name": "relAIn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2093, - "src": "10972:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10943:35:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2231, - "nodeType": "ExpressionStatement", - "src": "10943:35:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2232, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1915, - "src": "10988:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2235, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "10988:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2236, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1171, - "src": "10988:30:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2237, - "name": "relBIn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2107, - "src": "11021:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10988:39:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2239, - "nodeType": "ExpressionStatement", - "src": "10988:39:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2256, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2240, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1924, - "src": "11076:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2243, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "11076:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2244, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "liqAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1187, - "src": "11076:30:4", - "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": 2249, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1924, - "src": "11144:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2250, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "11144:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2251, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1191, - "src": "11144:30:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2254, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2252, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11175:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2253, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11175:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11144:42:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2245, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1924, - "src": "11109:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2246, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "11109:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2247, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liqAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1187, - "src": "11109:30:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7440, - "src": "11109:34:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2255, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11109:78:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11076:111:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2257, - "nodeType": "ExpressionStatement", - "src": "11076:111:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2258, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1915, - "src": "11197:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2261, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "11197:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2262, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "liqAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1187, - "src": "11197:34:4", - "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": 2267, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1915, - "src": "11273:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2268, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "11273:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2269, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1191, - "src": "11273:34:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2272, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2270, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11308:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11308:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11273:46:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2263, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1915, - "src": "11234:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2264, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "11234:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2265, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liqAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1187, - "src": "11234:34:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2266, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7440, - "src": "11234:38:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2273, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11234:86:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11197:123:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2275, - "nodeType": "ExpressionStatement", - "src": "11197:123:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2276, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1924, - "src": "11353:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2281, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "11353:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2282, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1191, - "src": "11353:30:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2283, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2279, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11384:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2280, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11384:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "11353:42:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 2284, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11398:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11353:46:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2286, - "nodeType": "ExpressionStatement", - "src": "11353:46:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2296, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2287, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1915, - "src": "11431:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2292, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "11431:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2293, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1191, - "src": "11431:34:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2294, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2290, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11466:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2291, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11466:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "11431:46:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 2295, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11480:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11431:50:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2297, - "nodeType": "ExpressionStatement", - "src": "11431:50:4" - }, - { - "assignments": [ - 2299 - ], - "declarations": [ - { - "constant": false, - "id": 2299, - "name": "totalLiquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2323, - "src": "11492:22:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2298, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11492:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2314, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2309, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1915, - "src": "11590:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2310, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "11590:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2311, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "cost", - "nodeType": "MemberAccess", - "referencedDeclaration": 1163, - "src": "11590:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2307, - "name": "liqPoolBfromUser", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1984, - "src": "11569:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "11569:20:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11569:51:4", - "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": 2302, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1924, - "src": "11538:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2303, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "11538:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2304, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "cost", - "nodeType": "MemberAccess", - "referencedDeclaration": 1163, - "src": "11538:25:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2300, - "name": "liqPoolAfromUser", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1965, - "src": "11517:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "11517:20:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11517:47:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7419, - "src": "11517:51:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11517:104:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11492:129:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2320, - "name": "totalLiquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2299, - "src": "11682:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2315, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11662:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11662:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 2319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11662:19:4", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 2321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11662:35:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2322, - "nodeType": "ExpressionStatement", - "src": "11662:35:4" - } - ] - }, - "documentation": null, - "functionSelector": "9c8f9f23", - "id": 2324, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "removeLiquidity", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1910, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1909, - "name": "_eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2324, - "src": "8340:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1908, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8340:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8339:18:4" - }, - "returnParameters": { - "id": 1913, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1912, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2324, - "src": "8374:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1911, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8374:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8373:14:4" - }, - "scope": 3745, - "src": "8315:3389:4", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2576, - "nodeType": "Block", - "src": "11829:2008:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2337, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2326, - "src": "11859:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2336, - "name": "isEventOpen", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1276, - "src": "11847:11:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 2338, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11847:21:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2335, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "11839:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2339, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11839:30:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2340, - "nodeType": "ExpressionStatement", - "src": "11839:30:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2344, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2342, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2330, - "src": "11887:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2343, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11906:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11887:20:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416d6f756e742068617320746f206265203e2030", - "id": 2345, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11909:22:4", - "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": 2341, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "11879:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2346, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11879:53:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2347, - "nodeType": "ExpressionStatement", - "src": "11879:53:4" - }, - { - "assignments": [ - 2349 - ], - "declarations": [ - { - "constant": false, - "id": 2349, - "name": "_oppResSpaceId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2576, - "src": "11943:22:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2348, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11943:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2351, - "initialValue": { - "argumentTypes": null, - "hexValue": "31", - "id": 2350, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11968:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "nodeType": "VariableDeclarationStatement", - "src": "11943:26:4" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2354, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2352, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2328, - "src": "11982:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 2353, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12000:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "11982:19:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2360, - "nodeType": "IfStatement", - "src": "11979:44:4", - "trueBody": { - "id": 2359, - "nodeType": "Block", - "src": "12002:21:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2357, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2355, - "name": "_oppResSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2349, - "src": "12003:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "32", - "id": 2356, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12020:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "12003:18:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2358, - "nodeType": "ExpressionStatement", - "src": "12003:18:4" - } - ] - } - }, - { - "assignments": [ - 2362 - ], - "declarations": [ - { - "constant": false, - "id": 2362, - "name": "resultSpace_opp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2576, - "src": "12033:35:4", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 2361, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1203, - "src": "12033:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2369, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2363, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "12071:6:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1216_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 2365, - "indexExpression": { - "argumentTypes": null, - "id": 2364, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2326, - "src": "12078:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12071:16:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 2366, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1209, - "src": "12071:29:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1203_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 2368, - "indexExpression": { - "argumentTypes": null, - "id": 2367, - "name": "_oppResSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2349, - "src": "12101:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12071:45:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12033:83:4" - }, - { - "assignments": [ - 2371 - ], - "declarations": [ - { - "constant": false, - "id": 2371, - "name": "resultSpace", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2576, - "src": "12126:31:4", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 2370, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1203, - "src": "12126:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2378, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2372, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "12160:6:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1216_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 2374, - "indexExpression": { - "argumentTypes": null, - "id": 2373, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2326, - "src": "12167:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12160:16:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 2375, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1209, - "src": "12160:29:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1203_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 2377, - "indexExpression": { - "argumentTypes": null, - "id": 2376, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2328, - "src": "12190:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12160:45:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12126:79:4" - }, - { - "assignments": [ - 2380 - ], - "declarations": [ - { - "constant": false, - "id": 2380, - "name": "marketValue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2576, - "src": "12216:19:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2379, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12216:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2386, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2382, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2326, - "src": "12256:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2383, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2328, - "src": "12266:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2384, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2330, - "src": "12282:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2381, - "name": "getFractionsCost", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2980, - "src": "12239:16:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) view returns (uint256)" - } - }, - "id": 2385, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12239:60:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12216:83:4" - }, - { - "assignments": [ - 2388 - ], - "declarations": [ - { - "constant": false, - "id": 2388, - "name": "previousFractionCost", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2576, - "src": "12309:28:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2387, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12309:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2392, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2389, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2371, - "src": "12340:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2390, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "12340:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2391, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "cost", - "nodeType": "MemberAccess", - "referencedDeclaration": 1163, - "src": "12340:25:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12309:56:4" - }, - { - "assignments": [ - 2394 - ], - "declarations": [ - { - "constant": false, - "id": 2394, - "name": "slipage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2576, - "src": "12376:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2393, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12376:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2400, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2396, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2326, - "src": "12410:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2397, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2328, - "src": "12420:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2398, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2330, - "src": "12436:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2395, - "name": "getSlipageOnBuy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2952, - "src": "12394:15:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) view returns (uint256)" - } - }, - "id": 2399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12394:59:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12376:77:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2404, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2402, - "name": "slipage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2394, - "src": "12471:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 2403, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12481:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "12471:11:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "536c69706167652068617320746f206265206c657373207468616e2033", - "id": 2405, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12484:31:4", - "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": 2401, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12463:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12463:53:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2407, - "nodeType": "ExpressionStatement", - "src": "12463:53:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2412, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2409, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "12535:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2410, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12535:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 2411, - "name": "marketValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2380, - "src": "12548:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12535:24:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "54782076616c75652068617320746f20626520657175616c20746f2070617961626c652073656e74", - "id": 2413, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12561:42:4", - "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": 2408, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12527:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2414, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12527:77:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2415, - "nodeType": "ExpressionStatement", - "src": "12527:77:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2416, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2371, - "src": "12638:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2419, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "12638:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2420, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "12638:25:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2425, - "name": "marketValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2380, - "src": "12696:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2421, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2371, - "src": "12666:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2422, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "12666:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2423, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "12666:25:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7419, - "src": "12666:29:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2426, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12666:42:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12638:70:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2428, - "nodeType": "ExpressionStatement", - "src": "12638:70:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2429, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2371, - "src": "12739:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2432, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "12739:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2433, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "odd", - "nodeType": "MemberAccess", - "referencedDeclaration": 1165, - "src": "12739:24:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2449, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 2434, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12766:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 2435, - "name": "ODD_DECIMALS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1142, - "src": "12768:12:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12766:14:4", - "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": 2444, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2371, - "src": "12836:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2445, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "12836:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2446, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "12836:25:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2441, - "name": "ODD_DECIMALS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1142, - "src": "12818:12:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2437, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2362, - "src": "12784:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2438, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "12784:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2439, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "12784:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2440, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "12784:33:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12784:47:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2443, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "12784:51:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2447, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12784:78:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2448, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12783:80:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12766:97:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12739:124:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2451, - "nodeType": "ExpressionStatement", - "src": "12739:124:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2452, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2362, - "src": "12894:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2455, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "12894:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2456, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "odd", - "nodeType": "MemberAccess", - "referencedDeclaration": 1165, - "src": "12894:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2472, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2459, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 2457, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12925:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 2458, - "name": "ODD_DECIMALS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1142, - "src": "12927:12:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12925:14:4", - "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": 2467, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2362, - "src": "12991:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2468, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "12991:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2469, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "12991:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2464, - "name": "ODD_DECIMALS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1142, - "src": "12973:12:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2460, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2371, - "src": "12943:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2461, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "12943:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2462, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "12943:25:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2463, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "12943:29:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2465, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12943:43:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2466, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "12943:47:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2470, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12943:78:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2471, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12942:80:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12925:97:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12894:128:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2474, - "nodeType": "ExpressionStatement", - "src": "12894:128:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2488, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2475, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2371, - "src": "13052:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2478, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "13052:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2479, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "cost", - "nodeType": "MemberAccess", - "referencedDeclaration": 1163, - "src": "13052:25:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2484, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2371, - "src": "13110:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2485, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "13110:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2486, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1167, - "src": "13110:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2480, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2371, - "src": "13080:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2481, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "13080:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2482, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "13080:25:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2483, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "13080:29:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13080:58:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13052:86:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2489, - "nodeType": "ExpressionStatement", - "src": "13052:86:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2503, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2490, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2362, - "src": "13168:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2493, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "13168:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2494, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "cost", - "nodeType": "MemberAccess", - "referencedDeclaration": 1163, - "src": "13168:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2499, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2362, - "src": "13234:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2500, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "13234:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2501, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1167, - "src": "13234:31:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2495, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2362, - "src": "13200:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2496, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "13200:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2497, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "13200:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2498, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "13200:33:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2502, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13200:66:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13168:98:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2504, - "nodeType": "ExpressionStatement", - "src": "13168:98:4" - }, - { - "assignments": [ - 2506 - ], - "declarations": [ - { - "constant": false, - "id": 2506, - "name": "relIn2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2576, - "src": "13297:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2505, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13297:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2508, - "initialValue": { - "argumentTypes": null, - "id": 2507, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2330, - "src": "13314:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13297:33:4" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2513, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2509, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2371, - "src": "13343:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2510, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "13343:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2511, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1171, - "src": "13343:26:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2512, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13372:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "13343:30:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2532, - "nodeType": "IfStatement", - "src": "13340:158:4", - "trueBody": { - "id": 2531, - "nodeType": "Block", - "src": "13374:124:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2529, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2514, - "name": "relIn2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2506, - "src": "13388:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2527, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 2519, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13428:1:4", - "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": 2522, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2371, - "src": "13458:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2523, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "13458:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2524, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1171, - "src": "13458:26:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2520, - "name": "previousFractionCost", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2388, - "src": "13433:20:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2521, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "13433:24:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2525, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13433:52:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2526, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13432:54:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13428:58:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2515, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2371, - "src": "13397:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2516, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "13397:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2517, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1171, - "src": "13397:26:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "13397:30:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13397:90:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13388:99:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2530, - "nodeType": "ExpressionStatement", - "src": "13388:99:4" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 2547, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2533, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2371, - "src": "13530:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2538, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "13530:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2539, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1175, - "src": "13530:35:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2540, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2536, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13566:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2537, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13566:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "13530:47:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2543, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2371, - "src": "13591:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2544, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "13591:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2545, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1171, - "src": "13591:26:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2541, - "name": "relIn2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2506, - "src": "13580:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2542, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7440, - "src": "13580:10:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2546, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13580:38:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13530:88:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2548, - "nodeType": "ExpressionStatement", - "src": "13530:88:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2555, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2549, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2371, - "src": "13628:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2552, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "13628:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2553, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1171, - "src": "13628:26:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2554, - "name": "relIn2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2506, - "src": "13657:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13628:35:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2556, - "nodeType": "ExpressionStatement", - "src": "13628:35:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2562, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2326, - "src": "13699:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2557, - "name": "myEvents", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1159, - "src": "13673:8:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 2560, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2558, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13682:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13682:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13673:20:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 2561, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13673:25:4", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 2563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13673:35:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2564, - "nodeType": "ExpressionStatement", - "src": "13673:35:4" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2566, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2326, - "src": "13732:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2567, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2328, - "src": "13742:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2568, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2330, - "src": "13758:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2569, - "name": "previousFractionCost", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2388, - "src": "13776:20:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2570, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13798:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13798:10:4", - "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": 2565, - "name": "BuyEvent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1234, - "src": "13723:8:4", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,uint256,uint256,uint256,address)" - } - }, - "id": 2572, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13723:86:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2573, - "nodeType": "EmitStatement", - "src": "13718:91:4" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2574, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13826:4:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2334, - "id": 2575, - "nodeType": "Return", - "src": "13819:11:4" - } - ] - }, - "documentation": null, - "functionSelector": "40993b26", - "id": 2577, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "buy", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2331, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2326, - "name": "_eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2577, - "src": "11723:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2325, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11723:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2328, - "name": "_resultSpaceId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2577, - "src": "11741:22:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2327, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11741:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2330, - "name": "_fractionsAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2577, - "src": "11765:24:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2329, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11765:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11722:68:4" - }, - "returnParameters": { - "id": 2334, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2333, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2577, - "src": "11815:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2332, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "11815:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11814:14:4" - }, - "scope": 3745, - "src": "11710:2127:4", - "stateMutability": "payable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2847, - "nodeType": "Block", - "src": "13955:2248:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2590, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2579, - "src": "13985:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2589, - "name": "isEventOpen", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1276, - "src": "13973:11:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 2591, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13973:21:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2588, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "13965:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2592, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13965:30:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2593, - "nodeType": "ExpressionStatement", - "src": "13965:30:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2597, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2595, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2583, - "src": "14013:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2596, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14032:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14013:20:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416d6f756e742068617320746f206265203e2030", - "id": 2598, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14035:22:4", - "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": 2594, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "14005:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2599, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14005:53:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2600, - "nodeType": "ExpressionStatement", - "src": "14005:53:4" - }, - { - "assignments": [ - 2602 - ], - "declarations": [ - { - "constant": false, - "id": 2602, - "name": "resultSpace", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2847, - "src": "14077:31:4", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 2601, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1203, - "src": "14077:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2609, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2603, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "14111:6:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1216_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 2605, - "indexExpression": { - "argumentTypes": null, - "id": 2604, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2579, - "src": "14118:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14111:16:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 2606, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1209, - "src": "14111:29:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1203_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 2608, - "indexExpression": { - "argumentTypes": null, - "id": 2607, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2581, - "src": "14141:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14111:45:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14077:79:4" - }, - { - "assignments": [ - 2611 - ], - "declarations": [ - { - "constant": false, - "id": 2611, - "name": "_oppResSpaceId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2847, - "src": "14166:22:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2610, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14166:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2613, - "initialValue": { - "argumentTypes": null, - "hexValue": "31", - "id": 2612, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14191:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "nodeType": "VariableDeclarationStatement", - "src": "14166:26:4" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2616, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2614, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2581, - "src": "14205:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 2615, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14223:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "14205:19:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2622, - "nodeType": "IfStatement", - "src": "14202:44:4", - "trueBody": { - "id": 2621, - "nodeType": "Block", - "src": "14225:21:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2617, - "name": "_oppResSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2611, - "src": "14226:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "32", - "id": 2618, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14243:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "14226:18:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2620, - "nodeType": "ExpressionStatement", - "src": "14226:18:4" - } - ] - } - }, - { - "assignments": [ - 2624 - ], - "declarations": [ - { - "constant": false, - "id": 2624, - "name": "resultSpace_opp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2847, - "src": "14255:35:4", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 2623, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1203, - "src": "14255:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2631, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2625, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "14293:6:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1216_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 2627, - "indexExpression": { - "argumentTypes": null, - "id": 2626, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2579, - "src": "14300:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14293:16:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 2628, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1209, - "src": "14293:29:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1203_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 2630, - "indexExpression": { - "argumentTypes": null, - "id": 2629, - "name": "_oppResSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2611, - "src": "14323:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14293:45:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14255:83:4" - }, - { - "assignments": [ - 2633 - ], - "declarations": [ - { - "constant": false, - "id": 2633, - "name": "fractionsAmountRelative", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2847, - "src": "14349:31:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2632, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14349:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2646, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2642, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2602, - "src": "14439:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2643, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "14439:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2644, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1177, - "src": "14439:28:4", - "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": 2636, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2602, - "src": "14405:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2637, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "14405:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2638, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relOut", - "nodeType": "MemberAccess", - "referencedDeclaration": 1179, - "src": "14405:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2634, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2583, - "src": "14384:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "14384:20:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2639, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14384:49:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2640, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "14383:51:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2641, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "14383:55:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2645, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14383:85:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14349:119:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2655, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2648, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2602, - "src": "14486:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2649, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "14486:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2650, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1183, - "src": "14486:36:4", - "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": "14523:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2652, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "14523:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14486:48:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 2654, - "name": "fractionsAmountRelative", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2633, - "src": "14537:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14486:74:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e6f2042616c616e636520746f204c6971756964617465", - "id": 2656, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14562:25:4", - "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": 2647, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "14478:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14478:110:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2658, - "nodeType": "ExpressionStatement", - "src": "14478:110:4" - }, - { - "assignments": [ - 2660 - ], - "declarations": [ - { - "constant": false, - "id": 2660, - "name": "slipage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2847, - "src": "14599:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2659, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14599:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2666, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2662, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2579, - "src": "14634:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2663, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2581, - "src": "14644:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2664, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2583, - "src": "14660:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2661, - "name": "getSlipageOnSell", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2900, - "src": "14617:16:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) view returns (uint256)" - } - }, - "id": 2665, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14617:60:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14599:78:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2668, - "name": "slipage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2660, - "src": "14695:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 2669, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14705:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "14695:11:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "536c69706167652068617320746f206265206c657373207468616e2033", - "id": 2671, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14708:31:4", - "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": 2667, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "14687:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2672, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14687:53:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2673, - "nodeType": "ExpressionStatement", - "src": "14687:53:4" - }, - { - "assignments": [ - 2675 - ], - "declarations": [ - { - "constant": false, - "id": 2675, - "name": "marketValue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2847, - "src": "14751:19:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2674, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14751:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2682, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2678, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2602, - "src": "14794:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2679, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "14794:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2680, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "cost", - "nodeType": "MemberAccess", - "referencedDeclaration": 1163, - "src": "14794:25:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2676, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2583, - "src": "14773:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2677, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "14773:20:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2681, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14773:47:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14751:69:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2700, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2683, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2602, - "src": "14855:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2688, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "14855:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2689, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1183, - "src": "14855:36:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2690, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2686, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "14892:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2687, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "14892:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "14855:48:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2698, - "name": "fractionsAmountRelative", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2633, - "src": "14959:23:4", - "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": 2691, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2602, - "src": "14906:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2692, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "14906:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2693, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1183, - "src": "14906:36:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2696, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2694, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "14943:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2695, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "14943:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14906:48:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2697, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7440, - "src": "14906:52:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2699, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14906:77:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14855:128:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2701, - "nodeType": "ExpressionStatement", - "src": "14855:128:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2713, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2702, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2602, - "src": "15014:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2705, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "15014:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2706, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "outPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1177, - "src": "15014:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2711, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2583, - "src": "15078:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2707, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2602, - "src": "15045:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2708, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "15045:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2709, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1177, - "src": "15045:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2710, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7440, - "src": "15045:32:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2712, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15045:50:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15014:81:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2714, - "nodeType": "ExpressionStatement", - "src": "15014:81:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2726, - "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": 2602, - "src": "15127:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2718, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "15127:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2719, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "relOut", - "nodeType": "MemberAccess", - "referencedDeclaration": 1179, - "src": "15127:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2724, - "name": "fractionsAmountRelative", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2633, - "src": "15189:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2720, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2602, - "src": "15157:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2721, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "15157:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2722, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relOut", - "nodeType": "MemberAccess", - "referencedDeclaration": 1179, - "src": "15157:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2723, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7440, - "src": "15157:31:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2725, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15157:56:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15127:86:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2727, - "nodeType": "ExpressionStatement", - "src": "15127:86:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2739, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2728, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2602, - "src": "15243:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2731, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "15243:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2732, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1169, - "src": "15243:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2737, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2583, - "src": "15305:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2733, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2602, - "src": "15273:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2734, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "15273:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2735, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1169, - "src": "15273:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2736, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7419, - "src": "15273:31:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2738, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15273:49:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15243:79:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2740, - "nodeType": "ExpressionStatement", - "src": "15243:79:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2752, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2741, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2602, - "src": "15354:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2744, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "15354:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2745, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "15354:25:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2750, - "name": "marketValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2675, - "src": "15412:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2746, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2602, - "src": "15382:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2747, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "15382:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2748, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "15382:25:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2749, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7440, - "src": "15382:29:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2751, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15382:42:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15354:70:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2753, - "nodeType": "ExpressionStatement", - "src": "15354:70:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2775, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2754, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2602, - "src": "15455:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2757, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "15455:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2758, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "odd", - "nodeType": "MemberAccess", - "referencedDeclaration": 1165, - "src": "15455:24:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2774, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2761, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 2759, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15482:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 2760, - "name": "ODD_DECIMALS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1142, - "src": "15484:12:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15482:14:4", - "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": 2769, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2602, - "src": "15552:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2770, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "15552:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2771, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "15552:25:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2766, - "name": "ODD_DECIMALS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1142, - "src": "15534:12:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2762, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2624, - "src": "15500:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2763, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "15500:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2764, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "15500:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2765, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "15500:33:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2767, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15500:47:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2768, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "15500:51:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2772, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15500:78:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2773, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "15499:80:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15482:97:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15455:124:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2776, - "nodeType": "ExpressionStatement", - "src": "15455:124:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2798, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2777, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2624, - "src": "15610:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2780, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "15610:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2781, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "odd", - "nodeType": "MemberAccess", - "referencedDeclaration": 1165, - "src": "15610:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2797, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2784, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 2782, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15641:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 2783, - "name": "ODD_DECIMALS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1142, - "src": "15643:12:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15641:14:4", - "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": 2792, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2624, - "src": "15707:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2793, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "15707:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2794, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "15707:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2789, - "name": "ODD_DECIMALS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1142, - "src": "15689:12:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2785, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2602, - "src": "15659:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2786, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "15659:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2787, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "15659:25:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2788, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "15659:29:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2790, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15659:43:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2791, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "15659:47:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2795, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15659:78:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2796, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "15658:80:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15641:97:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15610:128:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2799, - "nodeType": "ExpressionStatement", - "src": "15610:128:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2800, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2602, - "src": "15768:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2803, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "15768:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2804, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "cost", - "nodeType": "MemberAccess", - "referencedDeclaration": 1163, - "src": "15768:25:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2809, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2602, - "src": "15826:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2810, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "15826:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2811, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1167, - "src": "15826:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2805, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2602, - "src": "15796:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2806, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "15796:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2807, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "15796:25:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "15796:29:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2812, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15796:58:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15768:86:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2814, - "nodeType": "ExpressionStatement", - "src": "15768:86:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2828, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2815, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2624, - "src": "15884:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2818, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "15884:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2819, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "cost", - "nodeType": "MemberAccess", - "referencedDeclaration": 1163, - "src": "15884:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2824, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2624, - "src": "15950:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2825, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "15950:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2826, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1167, - "src": "15950:31:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2820, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2624, - "src": "15916:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2821, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "15916:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2822, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "15916:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2823, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "15916:33:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2827, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15916:66:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15884:98:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2829, - "nodeType": "ExpressionStatement", - "src": "15884:98:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2835, - "name": "marketValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2675, - "src": "16074:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2830, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "16054:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2833, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16054:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 2834, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16054:19:4", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 2836, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16054:32:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2837, - "nodeType": "ExpressionStatement", - "src": "16054:32:4" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2839, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2579, - "src": "16141:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2840, - "name": "marketValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2675, - "src": "16151:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2841, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "16164:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2842, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16164: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": 2838, - "name": "SellEvent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1256, - "src": "16131:9:4", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,uint256,address)" - } - }, - "id": 2843, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16131:44:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2844, - "nodeType": "EmitStatement", - "src": "16126:49:4" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2845, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16192:4:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2587, - "id": 2846, - "nodeType": "Return", - "src": "16185:11:4" - } - ] - }, - "documentation": null, - "functionSelector": "d3c9727c", - "id": 2848, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sell", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2584, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2579, - "name": "_eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2848, - "src": "13857:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2578, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13857:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2581, - "name": "_resultSpaceId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2848, - "src": "13875:22:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2580, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13875:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2583, - "name": "_fractionsAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2848, - "src": "13899:24:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2582, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13899:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13856:68:4" - }, - "returnParameters": { - "id": 2587, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2586, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2848, - "src": "13941:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2585, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "13941:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13940:14:4" - }, - "scope": 3745, - "src": "13843:2360:4", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2899, - "nodeType": "Block", - "src": "16341:344:4", - "statements": [ - { - "assignments": [ - 2860 - ], - "declarations": [ - { - "constant": false, - "id": 2860, - "name": "resultSpace", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2899, - "src": "16351:30:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_memory_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 2859, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1203, - "src": "16351:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2867, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2861, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "16384:6:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1216_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 2863, - "indexExpression": { - "argumentTypes": null, - "id": 2862, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2850, - "src": "16391:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16384:16:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 2864, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1209, - "src": "16384:29:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1203_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 2866, - "indexExpression": { - "argumentTypes": null, - "id": 2865, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2852, - "src": "16414:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16384:45:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16351:78:4" - }, - { - "assignments": [ - 2869 - ], - "declarations": [ - { - "constant": false, - "id": 2869, - "name": "marketValue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2899, - "src": "16439:19:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2868, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16439:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2875, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2871, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2850, - "src": "16478:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2872, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2852, - "src": "16488:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2873, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2854, - "src": "16504:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2870, - "name": "getFractionsCost", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2980, - "src": "16461:16:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) view returns (uint256)" - } - }, - "id": 2874, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16461:60:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16439:82:4" - }, - { - "assignments": [ - 2877 - ], - "declarations": [ - { - "constant": false, - "id": 2877, - "name": "newValue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2899, - "src": "16531:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2876, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16531:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2890, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2886, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2860, - "src": "16599:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_memory_ptr", - "typeString": "struct Exchange.ResultSpace memory" - } - }, - "id": 2887, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "16599:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_memory", - "typeString": "struct Exchange.Fraction memory" - } - }, - "id": 2888, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1167, - "src": "16599:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2882, - "name": "marketValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2869, - "src": "16581:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2878, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2860, - "src": "16551:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_memory_ptr", - "typeString": "struct Exchange.ResultSpace memory" - } - }, - "id": 2879, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "16551:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_memory", - "typeString": "struct Exchange.Fraction memory" - } - }, - "id": 2880, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "16551:25:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2881, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7440, - "src": "16551:29:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2883, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16551:42:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2884, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "16550:44:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2885, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "16550:48:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2889, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16550:77:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16531:96:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2896, - "name": "marketValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2869, - "src": "16666:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "313030", - "id": 2893, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16657:3:4", - "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": 2891, - "name": "newValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2877, - "src": "16644:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2892, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "16644:12:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2894, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16644:17:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2895, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "16644:21:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2897, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16644:34:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2858, - "id": 2898, - "nodeType": "Return", - "src": "16637:41:4" - } - ] - }, - "documentation": null, - "functionSelector": "e13a7d11", - "id": 2900, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getSlipageOnSell", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2855, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2850, - "name": "_eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2900, - "src": "16235:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2849, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16235:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2852, - "name": "_resultSpaceId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2900, - "src": "16253:22:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2851, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16253:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2854, - "name": "_fractionsAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2900, - "src": "16277:24:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2853, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16277:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16234:68:4" - }, - "returnParameters": { - "id": 2858, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2857, - "name": "slipage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2900, - "src": "16324:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2856, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16324:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16323:17:4" - }, - "scope": 3745, - "src": "16209:476:4", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2951, - "nodeType": "Block", - "src": "16822:344:4", - "statements": [ - { - "assignments": [ - 2912 - ], - "declarations": [ - { - "constant": false, - "id": 2912, - "name": "resultSpace", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2951, - "src": "16832:30:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_memory_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 2911, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1203, - "src": "16832:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2919, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2913, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "16865:6:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1216_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 2915, - "indexExpression": { - "argumentTypes": null, - "id": 2914, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2902, - "src": "16872:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16865:16:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 2916, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1209, - "src": "16865:29:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1203_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 2918, - "indexExpression": { - "argumentTypes": null, - "id": 2917, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2904, - "src": "16895:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16865:45:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16832:78:4" - }, - { - "assignments": [ - 2921 - ], - "declarations": [ - { - "constant": false, - "id": 2921, - "name": "marketValue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2951, - "src": "16920:19:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2920, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16920:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2927, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2923, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2902, - "src": "16959:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2924, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2904, - "src": "16969:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2925, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2906, - "src": "16985:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2922, - "name": "getFractionsCost", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2980, - "src": "16942:16:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) view returns (uint256)" - } - }, - "id": 2926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16942:60:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16920:82:4" - }, - { - "assignments": [ - 2929 - ], - "declarations": [ - { - "constant": false, - "id": 2929, - "name": "newValue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2951, - "src": "17012:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2928, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17012:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2942, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2938, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2912, - "src": "17080:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_memory_ptr", - "typeString": "struct Exchange.ResultSpace memory" - } - }, - "id": 2939, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "17080:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_memory", - "typeString": "struct Exchange.Fraction memory" - } - }, - "id": 2940, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1167, - "src": "17080:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2934, - "name": "marketValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2921, - "src": "17062:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2930, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2912, - "src": "17032:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_memory_ptr", - "typeString": "struct Exchange.ResultSpace memory" - } - }, - "id": 2931, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "17032:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_memory", - "typeString": "struct Exchange.Fraction memory" - } - }, - "id": 2932, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "17032:25:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2933, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7440, - "src": "17032:29:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2935, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17032:42:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2936, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "17031:44:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2937, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "17031:48:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2941, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17031:77:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17012:96:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2948, - "name": "newValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2929, - "src": "17150:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "313030", - "id": 2945, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17141:3:4", - "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": 2943, - "name": "marketValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2921, - "src": "17125:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2944, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "17125:15:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2946, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17125:20:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "17125:24:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2949, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17125:34:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2910, - "id": 2950, - "nodeType": "Return", - "src": "17118:41:4" - } - ] - }, - "documentation": null, - "functionSelector": "a8c776a1", - "id": 2952, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getSlipageOnBuy", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2907, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2902, - "name": "_eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2952, - "src": "16716:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2901, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16716:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2904, - "name": "_resultSpaceId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2952, - "src": "16734:22:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2903, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16734:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2906, - "name": "_fractionsAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2952, - "src": "16758:24:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2905, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16758:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16715:68:4" - }, - "returnParameters": { - "id": 2910, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2909, - "name": "slipage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2952, - "src": "16805:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2908, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16805:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16804:17:4" - }, - "scope": 3745, - "src": "16691:475:4", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2979, - "nodeType": "Block", - "src": "17296:159:4", - "statements": [ - { - "assignments": [ - 2964 - ], - "declarations": [ - { - "constant": false, - "id": 2964, - "name": "resultSpace", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2979, - "src": "17306:30:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_memory_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 2963, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1203, - "src": "17306:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2971, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2965, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "17339:6:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1216_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 2967, - "indexExpression": { - "argumentTypes": null, - "id": 2966, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2954, - "src": "17346:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17339:16:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 2968, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1209, - "src": "17339:29:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1203_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 2970, - "indexExpression": { - "argumentTypes": null, - "id": 2969, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2956, - "src": "17369:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17339:45:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17306:78:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2974, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2964, - "src": "17422:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_memory_ptr", - "typeString": "struct Exchange.ResultSpace memory" - } - }, - "id": 2975, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "17422:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_memory", - "typeString": "struct Exchange.Fraction memory" - } - }, - "id": 2976, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "cost", - "nodeType": "MemberAccess", - "referencedDeclaration": 1163, - "src": "17422:25:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2972, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2958, - "src": "17401:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2973, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "17401:20:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2977, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17401:47:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2962, - "id": 2978, - "nodeType": "Return", - "src": "17394:54:4" - } - ] - }, - "documentation": null, - "functionSelector": "bf3edf7e", - "id": 2980, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getFractionsCost", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2959, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2954, - "name": "_eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2980, - "src": "17198:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2953, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17198:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2956, - "name": "_resultSpaceId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2980, - "src": "17216:22:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2955, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17216:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2958, - "name": "_fractionsAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2980, - "src": "17240:24:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2957, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17240:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17197:68:4" - }, - "returnParameters": { - "id": 2962, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2961, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2980, - "src": "17287:7:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2960, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17287:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17286:9:4" - }, - "scope": 3745, - "src": "17172:283:4", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3169, - "nodeType": "Block", - "src": "17582:1624:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2993, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2982, - "src": "17612:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2992, - "name": "isEventOpen", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1276, - "src": "17600:11:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 2994, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17600:21:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2991, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "17592:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2995, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17592:30:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2996, - "nodeType": "ExpressionStatement", - "src": "17592:30:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3000, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2998, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2986, - "src": "17640:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2999, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17659:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "17640:20:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416d6f756e742068617320746f206265203e2030", - "id": 3001, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17662:22:4", - "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": 2997, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "17632:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3002, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17632:53:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3003, - "nodeType": "ExpressionStatement", - "src": "17632:53:4" - }, - { - "assignments": [ - 3005 - ], - "declarations": [ - { - "constant": false, - "id": 3005, - "name": "resultSpace", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3169, - "src": "17696:31:4", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 3004, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1203, - "src": "17696:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3012, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3006, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "17730:6:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1216_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 3008, - "indexExpression": { - "argumentTypes": null, - "id": 3007, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2982, - "src": "17737:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17730:16:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 3009, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1209, - "src": "17730:29:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1203_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 3011, - "indexExpression": { - "argumentTypes": null, - "id": 3010, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2984, - "src": "17760:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17730:45:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17696:79:4" - }, - { - "assignments": [ - 3014 - ], - "declarations": [ - { - "constant": false, - "id": 3014, - "name": "fractionsAmountRelative", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3169, - "src": "17811:31:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3013, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17811:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3027, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3023, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3005, - "src": "17900:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3024, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "17900:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3025, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1169, - "src": "17900:27:4", - "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": 3017, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3005, - "src": "17867:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3018, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "17867:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3019, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1171, - "src": "17867:26:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3015, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2986, - "src": "17846:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3016, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "17846:20:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3020, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17846:48:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3021, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "17845:50:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3022, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "17845:54:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3026, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17845:83:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17811:117:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3029, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3005, - "src": "17946:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3030, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "17946:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3031, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1175, - "src": "17946:35:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3034, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3032, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "17982:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "17982:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17946:47:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 3035, - "name": "fractionsAmountRelative", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3014, - "src": "17996:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17946:73:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e6f2042616c616e636520746f2050756c6c204672616374696f6e73", - "id": 3037, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18021:30:4", - "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": 3028, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "17938:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3038, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17938:114:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3039, - "nodeType": "ExpressionStatement", - "src": "17938:114:4" - }, - { - "assignments": [ - 3041 - ], - "declarations": [ - { - "constant": false, - "id": 3041, - "name": "fractionsOutsideOfLiquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3169, - "src": "18063:35:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3040, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18063:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3058, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3054, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3005, - "src": "18185:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3055, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "18185:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3056, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1169, - "src": "18185:27:4", - "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": 3046, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3005, - "src": "18132:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3047, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "18132:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3048, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1175, - "src": "18132:35:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3051, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3049, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "18168:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3050, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18168:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18132:47:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3042, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3005, - "src": "18101:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3043, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "18101:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3044, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1171, - "src": "18101:26:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3045, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "18101:30:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3052, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18101:79:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3053, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "18101:83:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3057, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18101:112:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18063:150:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3062, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3060, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2986, - "src": "18231:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 3061, - "name": "fractionsOutsideOfLiquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3041, - "src": "18250:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18231:46:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416d6f756e74206f66204672616374696f6e73206f757473696465206f66206c6971756964697479206861766520746f20626520626967676572207468616e2070726f706f736564", - "id": 3063, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18279:74:4", - "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": 3059, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "18223:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3064, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18223:131:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3065, - "nodeType": "ExpressionStatement", - "src": "18223:131:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3083, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3066, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3005, - "src": "18389:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3071, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "18389:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3072, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1175, - "src": "18389:35:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3073, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3069, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "18425:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3070, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18425:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "18389:47:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3081, - "name": "fractionsAmountRelative", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3014, - "src": "18491:23:4", - "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": 3074, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3005, - "src": "18439:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3075, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "18439:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3076, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1175, - "src": "18439:35:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3079, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3077, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "18475:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3078, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18475:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18439:47:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3080, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7440, - "src": "18439:51:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3082, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18439:76:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18389:126:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3084, - "nodeType": "ExpressionStatement", - "src": "18389:126:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3096, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3085, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3005, - "src": "18545:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3088, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "18545:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3089, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1169, - "src": "18545:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3094, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2986, - "src": "18607:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3090, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3005, - "src": "18575:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3091, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "18575:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3092, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1169, - "src": "18575:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3093, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7440, - "src": "18575:31:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3095, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18575:49:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18545:79:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3097, - "nodeType": "ExpressionStatement", - "src": "18545:79:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3109, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3098, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3005, - "src": "18655:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3101, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "18655:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3102, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1171, - "src": "18655:26:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3107, - "name": "fractionsAmountRelative", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3014, - "src": "18715:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3103, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3005, - "src": "18684:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3104, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "18684:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3105, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1171, - "src": "18684:26:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3106, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7440, - "src": "18684:30:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3108, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18684:55:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18655:84:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3110, - "nodeType": "ExpressionStatement", - "src": "18655:84:4" - }, - { - "assignments": [ - 3112 - ], - "declarations": [ - { - "constant": false, - "id": 3112, - "name": "out2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3169, - "src": "18750:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3111, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18750:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3119, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3117, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2986, - "src": "18798:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3113, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3005, - "src": "18765:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3114, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "18765:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3115, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1177, - "src": "18765:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3116, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7419, - "src": "18765:32:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3118, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18765:50:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18750:65:4" - }, - { - "assignments": [ - 3121 - ], - "declarations": [ - { - "constant": false, - "id": 3121, - "name": "relOut2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3169, - "src": "18825:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3120, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18825:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3134, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3130, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3005, - "src": "18887:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3131, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "18887:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3132, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1177, - "src": "18887:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3126, - "name": "out2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3112, - "src": "18876:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3122, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3005, - "src": "18844:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3123, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "18844:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3124, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relOut", - "nodeType": "MemberAccess", - "referencedDeclaration": 1179, - "src": "18844:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3125, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "18844:31:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3127, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18844:37:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3128, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "18843:39:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3129, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "18843:43:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3133, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18843:73:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18825:91:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3149, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3135, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3005, - "src": "18951:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3140, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "18951:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3141, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1183, - "src": "18951:36:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3142, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3138, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "18988:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3139, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18988:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "18951:48:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3145, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3005, - "src": "19014:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3146, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "19014:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3147, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relOut", - "nodeType": "MemberAccess", - "referencedDeclaration": 1179, - "src": "19014:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3143, - "name": "relOut2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3121, - "src": "19002:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7440, - "src": "19002:11:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3148, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19002:40:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18951:91:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3150, - "nodeType": "ExpressionStatement", - "src": "18951:91:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3151, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3005, - "src": "19074:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3154, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "19074:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3155, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "relOut", - "nodeType": "MemberAccess", - "referencedDeclaration": 1179, - "src": "19074:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3156, - "name": "relOut2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3121, - "src": "19104:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19074:37:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3158, - "nodeType": "ExpressionStatement", - "src": "19074:37:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3165, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3159, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3005, - "src": "19142:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3162, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "19142:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3163, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "outPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1177, - "src": "19142:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3164, - "name": "out2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3112, - "src": "19173:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19142:35:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3166, - "nodeType": "ExpressionStatement", - "src": "19142:35:4" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 3167, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19195:4:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2990, - "id": 3168, - "nodeType": "Return", - "src": "19188:11:4" - } - ] - }, - "documentation": null, - "functionSelector": "cccbcc7c", - "id": 3170, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "pullFractions", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2987, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2982, - "name": "_eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3170, - "src": "17484:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2981, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17484:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2984, - "name": "_resultSpaceId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3170, - "src": "17502:22:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2983, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17502:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2986, - "name": "_fractionsAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3170, - "src": "17526:24:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2985, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17526:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17483:68:4" - }, - "returnParameters": { - "id": 2990, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2989, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3170, - "src": "17568:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2988, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "17568:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17567:14:4" - }, - "scope": 3745, - "src": "17461:1745:4", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3333, - "nodeType": "Block", - "src": "19333:1312:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3183, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3172, - "src": "19363:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3182, - "name": "isEventOpen", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1276, - "src": "19351:11:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 3184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19351:21:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3181, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "19343:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3185, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19343:30:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3186, - "nodeType": "ExpressionStatement", - "src": "19343:30:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3190, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3188, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3176, - "src": "19391:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3189, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19410:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19391:20:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416d6f756e742068617320746f206265203e2030", - "id": 3191, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19413:22:4", - "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": 3187, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "19383:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3192, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19383:53:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3193, - "nodeType": "ExpressionStatement", - "src": "19383:53:4" - }, - { - "assignments": [ - 3195 - ], - "declarations": [ - { - "constant": false, - "id": 3195, - "name": "resultSpace", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3333, - "src": "19447:31:4", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 3194, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1203, - "src": "19447:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3202, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3196, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "19481:6:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1216_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 3198, - "indexExpression": { - "argumentTypes": null, - "id": 3197, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3172, - "src": "19488:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19481:16:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 3199, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1209, - "src": "19481:29:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1203_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 3201, - "indexExpression": { - "argumentTypes": null, - "id": 3200, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3174, - "src": "19511:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19481:45:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19447:79:4" - }, - { - "assignments": [ - 3204 - ], - "declarations": [ - { - "constant": false, - "id": 3204, - "name": "fractionsAmountRelative", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3333, - "src": "19555:31:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3203, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19555:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3217, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3213, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3195, - "src": "19645:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3214, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "19645:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3215, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1177, - "src": "19645:28:4", - "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": 3207, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3195, - "src": "19611:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3208, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "19611:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3209, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relOut", - "nodeType": "MemberAccess", - "referencedDeclaration": 1179, - "src": "19611:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3205, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3176, - "src": "19590:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "19590:20:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3210, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19590:49:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3211, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "19589:51:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "19589:55:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3216, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19589:85:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19555:119:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3219, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3195, - "src": "19692:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3220, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "19692:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3221, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1183, - "src": "19692:36:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3224, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3222, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "19729:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3223, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19729:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19692:48:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 3225, - "name": "fractionsAmountRelative", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3204, - "src": "19743:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19692:74:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e6f2042616c616e636520746f2050756c6c204672616374696f6e73", - "id": 3227, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19768:30:4", - "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": 3218, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "19684:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19684:115:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3229, - "nodeType": "ExpressionStatement", - "src": "19684:115:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3247, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3230, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3195, - "src": "19835:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3235, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "19835:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3236, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1183, - "src": "19835:36:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3237, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3233, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "19872:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19872:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "19835:48:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3245, - "name": "fractionsAmountRelative", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3204, - "src": "19939:23:4", - "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": 3238, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3195, - "src": "19886:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3239, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "19886:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3240, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1183, - "src": "19886:36:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3243, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3241, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "19923:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3242, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19923:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19886:48:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3244, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7440, - "src": "19886:52:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3246, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19886:77:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19835:128:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3248, - "nodeType": "ExpressionStatement", - "src": "19835:128:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3260, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3249, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3195, - "src": "19994:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3252, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "19994:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3253, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "outPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1177, - "src": "19994:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3258, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3176, - "src": "20058:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3254, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3195, - "src": "20025:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3255, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "20025:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3256, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1177, - "src": "20025:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7440, - "src": "20025:32:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3259, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20025:50:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19994:81:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3261, - "nodeType": "ExpressionStatement", - "src": "19994:81:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3273, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3262, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3195, - "src": "20107:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3265, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "20107:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3266, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "relOut", - "nodeType": "MemberAccess", - "referencedDeclaration": 1179, - "src": "20107:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3271, - "name": "fractionsAmountRelative", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3204, - "src": "20169:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3267, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3195, - "src": "20137:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3268, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "20137:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3269, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relOut", - "nodeType": "MemberAccess", - "referencedDeclaration": 1179, - "src": "20137:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3270, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7440, - "src": "20137:31:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20137:56:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20107:86:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3274, - "nodeType": "ExpressionStatement", - "src": "20107:86:4" - }, - { - "assignments": [ - 3276 - ], - "declarations": [ - { - "constant": false, - "id": 3276, - "name": "in2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3333, - "src": "20204:11:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3275, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20204:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3283, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3281, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3176, - "src": "20250:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3277, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3195, - "src": "20218:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3278, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "20218:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3279, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1169, - "src": "20218:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3280, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7419, - "src": "20218:31:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20218:49:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20204:63:4" - }, - { - "assignments": [ - 3285 - ], - "declarations": [ - { - "constant": false, - "id": 3285, - "name": "relIn2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3333, - "src": "20277:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3284, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20277:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3298, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3294, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3195, - "src": "20336:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3295, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "20336:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3296, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1169, - "src": "20336:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3290, - "name": "in2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3276, - "src": "20326:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3286, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3195, - "src": "20295:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3287, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "20295:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3288, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1171, - "src": "20295:26:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3289, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "20295:30:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3291, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20295:35:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3292, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20294:37:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3293, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "20294:41:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3297, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20294:70:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20277:87:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3299, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3195, - "src": "20399:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3304, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "20399:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3305, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1175, - "src": "20399:35:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3306, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3302, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "20435:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3303, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "20435:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "20399:47:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3309, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3195, - "src": "20460:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3310, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "20460:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3311, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1171, - "src": "20460:26:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3307, - "name": "relIn2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3285, - "src": "20449:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7440, - "src": "20449:10:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20449:38:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20399:88:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3314, - "nodeType": "ExpressionStatement", - "src": "20399:88:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3315, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3195, - "src": "20518:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3318, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "20518:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3319, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1171, - "src": "20518:26:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3320, - "name": "relIn2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3285, - "src": "20547:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20518:35:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3322, - "nodeType": "ExpressionStatement", - "src": "20518:35:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3329, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3323, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3195, - "src": "20583:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3326, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "20583:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3327, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1169, - "src": "20583:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3328, - "name": "in2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3276, - "src": "20613:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20583:33:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3330, - "nodeType": "ExpressionStatement", - "src": "20583:33:4" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 3331, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20634:4:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 3180, - "id": 3332, - "nodeType": "Return", - "src": "20627:11:4" - } - ] - }, - "documentation": null, - "functionSelector": "9d9bbde7", - "id": 3334, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "pushFractions", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3177, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3172, - "name": "_eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3334, - "src": "19235:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3171, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19235:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3174, - "name": "_resultSpaceId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3334, - "src": "19253:22:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3173, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19253:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3176, - "name": "_fractionsAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3334, - "src": "19277:24:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3175, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19277:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "19234:68:4" - }, - "returnParameters": { - "id": 3180, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3179, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3334, - "src": "19319:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3178, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "19319:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "19318:14:4" - }, - "scope": 3745, - "src": "19212:1433:4", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3382, - "nodeType": "Block", - "src": "20777:322:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3347, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3336, - "src": "20807:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3346, - "name": "isEventOpen", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1276, - "src": "20795:11:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 3348, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20795:21:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3345, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "20787:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20787:30:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3350, - "nodeType": "ExpressionStatement", - "src": "20787:30:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3354, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3352, - "name": "_resultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3338, - "src": "20868:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3353, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20880:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "20868:13:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 3355, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20867:15:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3356, - "name": "_resultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3338, - "src": "20887:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 3357, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20899:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "20887:13:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 3359, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20886:15:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "20867:34:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3351, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "20859:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3361, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20859:43:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3362, - "nodeType": "ExpressionStatement", - "src": "20859:43:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3368, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3363, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "20941:6:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1216_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 3365, - "indexExpression": { - "argumentTypes": null, - "id": 3364, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3336, - "src": "20948:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "20941:16:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 3366, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "result", - "nodeType": "MemberAccess", - "referencedDeclaration": 1211, - "src": "20941:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3367, - "name": "_resultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3338, - "src": "20967:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20941:35:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3369, - "nodeType": "ExpressionStatement", - "src": "20941:35:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3375, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3370, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "21012:6:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1216_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 3372, - "indexExpression": { - "argumentTypes": null, - "id": 3371, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3336, - "src": "21019:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "21012:16:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 3373, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "isResolved", - "nodeType": "MemberAccess", - "referencedDeclaration": 1215, - "src": "21012:27:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 3374, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21042:4:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "21012:34:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3376, - "nodeType": "ExpressionStatement", - "src": "21012:34:4" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3378, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3336, - "src": "21072:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3379, - "name": "_resultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3338, - "src": "21082:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3377, - "name": "CloseEvent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1240, - "src": "21061:10:4", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256)" - } - }, - "id": 3380, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21061:31:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3381, - "nodeType": "EmitStatement", - "src": "21056:36:4" - } - ] - }, - "documentation": null, - "functionSelector": "64f66467", - "id": 3383, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 3341, - "modifierName": { - "argumentTypes": null, - "id": 3340, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7154, - "src": "20744:9:4", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "20744:9:4" - } - ], - "name": "resolveEvent", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3339, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3336, - "name": "_eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3383, - "src": "20700:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3335, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20700:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3338, - "name": "_resultId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3383, - "src": "20718:17:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3337, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20718:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20699:37:4" - }, - "returnParameters": { - "id": 3344, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3343, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3383, - "src": "20763:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3342, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "20763:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20762:14:4" - }, - "scope": 3745, - "src": "20678:421:4", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3522, - "nodeType": "Block", - "src": "21199:1130:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3394, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3385, - "src": "21232:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3393, - "name": "isEventClosed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1292, - "src": "21218:13:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 3395, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21218:23:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4576656e742068617320746f20626520636c6f736564", - "id": 3396, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21243:24:4", - "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": 3392, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "21210:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3397, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21210:58:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3398, - "nodeType": "ExpressionStatement", - "src": "21210:58:4" - }, - { - "assignments": [ - 3400 - ], - "declarations": [ - { - "constant": false, - "id": 3400, - "name": "resultSpace", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3522, - "src": "21278:31:4", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 3399, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1203, - "src": "21278:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3407, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3401, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "21312:6:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1216_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 3403, - "indexExpression": { - "argumentTypes": null, - "id": 3402, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3385, - "src": "21319:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "21312:16:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 3404, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1209, - "src": "21312:29:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1203_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 3406, - "indexExpression": { - "argumentTypes": null, - "id": 3405, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "21342:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "21312:45:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21278:79:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3414, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3409, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "21375:6:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1216_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 3411, - "indexExpression": { - "argumentTypes": null, - "id": 3410, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3385, - "src": "21382:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "21375:16:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 3412, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "result", - "nodeType": "MemberAccess", - "referencedDeclaration": 1211, - "src": "21375:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 3413, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "21402:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21375:41:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "526573756c74205370616365206973206e6f74207468652077696e6e6572", - "id": 3415, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21418:32:4", - "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": 3408, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "21367:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3416, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21367:84:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3417, - "nodeType": "ExpressionStatement", - "src": "21367:84:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3425, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3419, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3400, - "src": "21469:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3420, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tookWinnings", - "nodeType": "MemberAccess", - "referencedDeclaration": 1202, - "src": "21469:24:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 3423, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3421, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "21494:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3422, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "21494:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "21469:36:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 3424, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21509:5:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "21469:45:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "57696e6e696e6720616c72656164792074616b656e", - "id": 3426, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21516:23:4", - "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": 3418, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "21461:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21461:79:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3428, - "nodeType": "ExpressionStatement", - "src": "21461:79:4" - }, - { - "assignments": [ - 3430 - ], - "declarations": [ - { - "constant": false, - "id": 3430, - "name": "absoluteFractionsIn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3522, - "src": "21580:27:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3429, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21580:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3448, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3444, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3400, - "src": "21697:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3445, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "21697:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3446, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1171, - "src": "21697:26:4", - "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": 3438, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3400, - "src": "21663:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3439, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "21663:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3440, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1169, - "src": "21663:27:4", - "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": 3431, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3400, - "src": "21611:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3432, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "21611:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3433, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1175, - "src": "21611:35:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3436, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3434, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "21647:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3435, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "21647:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "21611:47:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "21611:51:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21611:80:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3442, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "21610:82:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3443, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "21610:86:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3447, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21610:114:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21580:144:4" - }, - { - "assignments": [ - 3450 - ], - "declarations": [ - { - "constant": false, - "id": 3450, - "name": "absoluteFractionsOut", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3522, - "src": "21734:28:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3449, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21734:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3468, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3464, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3400, - "src": "21854:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3465, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "21854:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3466, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relOut", - "nodeType": "MemberAccess", - "referencedDeclaration": 1179, - "src": "21854:27:4", - "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": 3458, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3400, - "src": "21819:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3459, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "21819:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3460, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1177, - "src": "21819:28:4", - "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": 3451, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3400, - "src": "21766:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3452, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "21766:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3453, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1183, - "src": "21766:36:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3456, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3454, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "21803:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "21803:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "21766:48:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3457, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "21766:52:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3461, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21766:82:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3462, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "21765:84:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3463, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "21765:88:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21765:117:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21734:148:4" - }, - { - "assignments": [ - 3470 - ], - "declarations": [ - { - "constant": false, - "id": 3470, - "name": "winningAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3522, - "src": "21892:21:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3469, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21892:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3493, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3490, - "name": "CURRENCY_DECIMALS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1147, - "src": "22048:17:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3488, - "name": "ODD_DECIMALS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1142, - "src": "22031:12:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "22031:16:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3491, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22031:35:4", - "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": 3482, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3400, - "src": "22000:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3483, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "22000:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3484, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "odd", - "nodeType": "MemberAccess", - "referencedDeclaration": 1165, - "src": "22000:24:4", - "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": 3477, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3400, - "src": "21969:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3478, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "21969:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3479, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "cost", - "nodeType": "MemberAccess", - "referencedDeclaration": 1163, - "src": "21969:25:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3473, - "name": "absoluteFractionsIn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3430, - "src": "21943:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3471, - "name": "absoluteFractionsOut", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3450, - "src": "21918:20:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3472, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7419, - "src": "21918:24:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3474, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21918:45:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3475, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "21917:47:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3476, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "21917:51:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21917:78:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3481, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "21917:82:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21917:108:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3486, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "21916:110:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "21916:114:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3492, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21916:151:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21892:175:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3499, - "name": "winningAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3470, - "src": "22126:13:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3494, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "22106:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3497, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "22106:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 3498, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "22106:19:4", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 3500, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22106:34:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3501, - "nodeType": "ExpressionStatement", - "src": "22106:34:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3513, - "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": 3502, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "22180:6:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1216_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 3504, - "indexExpression": { - "argumentTypes": null, - "id": 3503, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3385, - "src": "22187:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "22180:16:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 3505, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1209, - "src": "22180:29:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1203_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 3507, - "indexExpression": { - "argumentTypes": null, - "id": 3506, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "22210:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "22180:45:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "id": 3508, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tookWinnings", - "nodeType": "MemberAccess", - "referencedDeclaration": 1202, - "src": "22180:58:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 3511, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3509, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "22239:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3510, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "22239:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "22180:70:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 3512, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22253:4:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "22180:77:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3514, - "nodeType": "ExpressionStatement", - "src": "22180:77:4" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3516, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3385, - "src": "22286:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3517, - "name": "winningAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3470, - "src": "22296:13:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3518, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "22311:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3519, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "22311: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": 3515, - "name": "WithdrawEvent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1248, - "src": "22272:13:4", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,uint256,address)" - } - }, - "id": 3520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22272:50:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3521, - "nodeType": "EmitStatement", - "src": "22267:55:4" - } - ] - }, - "documentation": null, - "functionSelector": "e682e9ad", - "id": 3523, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "withdrawWins", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3388, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3385, - "name": "_eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3523, - "src": "21127:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3384, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21127:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3387, - "name": "_resultSpaceId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3523, - "src": "21145:22:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3386, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21145:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21126:42:4" - }, - "returnParameters": { - "id": 3391, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3390, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3523, - "src": "21185:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3389, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "21185:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21184:14:4" - }, - "scope": 3745, - "src": "21105:1224:4", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3531, - "nodeType": "Block", - "src": "22430:32:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3529, - "name": "eventIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1150, - "src": "22447:8:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "functionReturnParameters": 3528, - "id": 3530, - "nodeType": "Return", - "src": "22440:15:4" - } - ] - }, - "documentation": null, - "functionSelector": "404aa8f9", - "id": 3532, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getEvents", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3524, - "nodeType": "ParameterList", - "parameters": [], - "src": "22378:2:4" - }, - "returnParameters": { - "id": 3528, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3527, - "name": "event_ids", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3532, - "src": "22402:26:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3525, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22402:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3526, - "length": null, - "nodeType": "ArrayTypeName", - "src": "22402:9:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22401:28:4" - }, - "scope": 3745, - "src": "22360:102:4", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3561, - "nodeType": "Block", - "src": "22599:169:4", - "statements": [ - { - "assignments": [ - 3546 - ], - "declarations": [ - { - "constant": false, - "id": 3546, - "name": "_event", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3561, - "src": "22609:19:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_memory_ptr", - "typeString": "struct Exchange.Event" - }, - "typeName": { - "contractScope": null, - "id": 3545, - "name": "Event", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1216, - "src": "22609:5:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage_ptr", - "typeString": "struct Exchange.Event" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3550, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3547, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "22631:6:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1216_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 3549, - "indexExpression": { - "argumentTypes": null, - "id": 3548, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "22638:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "22631:16:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "22609:38:4" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3551, - "name": "_event", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3546, - "src": "22697:6:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_memory_ptr", - "typeString": "struct Exchange.Event memory" - } - }, - "id": 3552, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "name", - "nodeType": "MemberAccess", - "referencedDeclaration": 1205, - "src": "22697:11:4", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3553, - "name": "_event", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3546, - "src": "22710:6:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_memory_ptr", - "typeString": "struct Exchange.Event memory" - } - }, - "id": 3554, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "result", - "nodeType": "MemberAccess", - "referencedDeclaration": 1211, - "src": "22710:13:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3555, - "name": "_event", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3546, - "src": "22725:6:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_memory_ptr", - "typeString": "struct Exchange.Event memory" - } - }, - "id": 3556, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "urlOracle", - "nodeType": "MemberAccess", - "referencedDeclaration": 1213, - "src": "22725:16:4", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3557, - "name": "_event", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3546, - "src": "22743:6:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_memory_ptr", - "typeString": "struct Exchange.Event memory" - } - }, - "id": 3558, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "isResolved", - "nodeType": "MemberAccess", - "referencedDeclaration": 1215, - "src": "22743:17:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 3559, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "22696:65:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_string_memory_$_t_uint256_$_t_string_memory_$_t_bool_$", - "typeString": "tuple(string memory,uint256,string memory,bool)" - } - }, - "functionReturnParameters": 3544, - "id": 3560, - "nodeType": "Return", - "src": "22689:72:4" - } - ] - }, - "documentation": null, - "functionSelector": "4392bb68", - "id": 3562, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getEventData", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3535, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3534, - "name": "_eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3562, - "src": "22515:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3533, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22515:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22514:18:4" - }, - "returnParameters": { - "id": 3544, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3537, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3562, - "src": "22554:13:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3536, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "22554:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3539, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3562, - "src": "22569:7:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3538, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22569:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3541, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3562, - "src": "22578:13:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3540, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "22578:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3543, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3562, - "src": "22593:4:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3542, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "22593:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22553:45:4" - }, - "scope": 3745, - "src": "22493:275:4", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3628, - "nodeType": "Block", - "src": "23075:394:4", - "statements": [ - { - "assignments": [ - 3590 - ], - "declarations": [ - { - "constant": false, - "id": 3590, - "name": "resultSpace", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3628, - "src": "23085:30:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_memory_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 3589, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1203, - "src": "23085:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3597, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3591, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "23118:6:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1216_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 3593, - "indexExpression": { - "argumentTypes": null, - "id": 3592, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3564, - "src": "23125:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23118:16:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 3594, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1209, - "src": "23118:29:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1203_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 3596, - "indexExpression": { - "argumentTypes": null, - "id": 3595, - "name": "resultSpace_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3566, - "src": "23148:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23118:45:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "23085:78:4" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3598, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3590, - "src": "23182:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_memory_ptr", - "typeString": "struct Exchange.ResultSpace memory" - } - }, - "id": 3599, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "id", - "nodeType": "MemberAccess", - "referencedDeclaration": 1194, - "src": "23182:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3600, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3590, - "src": "23198:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_memory_ptr", - "typeString": "struct Exchange.ResultSpace memory" - } - }, - "id": 3601, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultId", - "nodeType": "MemberAccess", - "referencedDeclaration": 1196, - "src": "23198:20:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3602, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3590, - "src": "23220:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_memory_ptr", - "typeString": "struct Exchange.ResultSpace memory" - } - }, - "id": 3603, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "23220:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_memory", - "typeString": "struct Exchange.Fraction memory" - } - }, - "id": 3604, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "23220:25:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3605, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3590, - "src": "23247:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_memory_ptr", - "typeString": "struct Exchange.ResultSpace memory" - } - }, - "id": 3606, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "23247:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_memory", - "typeString": "struct Exchange.Fraction memory" - } - }, - "id": 3607, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "cost", - "nodeType": "MemberAccess", - "referencedDeclaration": 1163, - "src": "23247:25:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3608, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3590, - "src": "23282:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_memory_ptr", - "typeString": "struct Exchange.ResultSpace memory" - } - }, - "id": 3609, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "23282:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_memory", - "typeString": "struct Exchange.Fraction memory" - } - }, - "id": 3610, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "odd", - "nodeType": "MemberAccess", - "referencedDeclaration": 1165, - "src": "23282:24:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3611, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3590, - "src": "23308:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_memory_ptr", - "typeString": "struct Exchange.ResultSpace memory" - } - }, - "id": 3612, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "23308:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_memory", - "typeString": "struct Exchange.Fraction memory" - } - }, - "id": 3613, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1167, - "src": "23308:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3614, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3590, - "src": "23337:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_memory_ptr", - "typeString": "struct Exchange.ResultSpace memory" - } - }, - "id": 3615, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "23337:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_memory", - "typeString": "struct Exchange.Fraction memory" - } - }, - "id": 3616, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1169, - "src": "23337:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3617, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3590, - "src": "23366:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_memory_ptr", - "typeString": "struct Exchange.ResultSpace memory" - } - }, - "id": 3618, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "23366:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_memory", - "typeString": "struct Exchange.Fraction memory" - } - }, - "id": 3619, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1177, - "src": "23366:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3620, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3590, - "src": "23404:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_memory_ptr", - "typeString": "struct Exchange.ResultSpace memory" - } - }, - "id": 3621, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "23404:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_memory", - "typeString": "struct Exchange.Fraction memory" - } - }, - "id": 3622, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fees", - "nodeType": "MemberAccess", - "referencedDeclaration": 1185, - "src": "23404:25:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3623, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3590, - "src": "23431:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_memory_ptr", - "typeString": "struct Exchange.ResultSpace memory" - } - }, - "id": 3624, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "23431:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_memory", - "typeString": "struct Exchange.Fraction memory" - } - }, - "id": 3625, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liqAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1187, - "src": "23431:30:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3626, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "23181:281:4", - "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": 3588, - "id": 3627, - "nodeType": "Return", - "src": "23174:288:4" - } - ] - }, - "documentation": null, - "functionSelector": "ad5145af", - "id": 3629, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getResultSpaceData", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3567, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3564, - "name": "_eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3629, - "src": "22834:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3563, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22834:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3566, - "name": "resultSpace_id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3629, - "src": "22852:22:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3565, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22852:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22833:42:4" - }, - "returnParameters": { - "id": 3588, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3569, - "name": "_id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3629, - "src": "22906:11:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3568, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22906:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3571, - "name": "_resultId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3629, - "src": "22919:17:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3570, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22919:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3573, - "name": "_pool", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3629, - "src": "22938:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3572, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22938:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3575, - "name": "_cost", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3629, - "src": "22953:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3574, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22953:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3577, - "name": "_odd", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3629, - "src": "22968:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3576, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22968:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3579, - "name": "_amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3629, - "src": "22991:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3578, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22991:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3581, - "name": "_in", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3629, - "src": "23008:11:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3580, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23008:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3583, - "name": "_out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3629, - "src": "23021:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3582, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23021:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3585, - "name": "_fees", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3629, - "src": "23035:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3584, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23035:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3587, - "name": "_liqAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3629, - "src": "23050:18:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3586, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23050:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22896:178:4" - }, - "scope": 3745, - "src": "22806:663:4", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3640, - "nodeType": "Block", - "src": "23590:44:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3635, - "name": "myEvents", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1159, - "src": "23607:8:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 3638, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3636, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "23616:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3637, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "23616:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23607:20:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "functionReturnParameters": 3634, - "id": 3639, - "nodeType": "Return", - "src": "23600:27:4" - } - ] - }, - "documentation": null, - "functionSelector": "3548124b", - "id": 3641, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getMyEvents", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3630, - "nodeType": "ParameterList", - "parameters": [], - "src": "23549:2:4" - }, - "returnParameters": { - "id": 3634, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3633, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3641, - "src": "23573:16:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3631, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23573:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3632, - "length": null, - "nodeType": "ArrayTypeName", - "src": "23573:9:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "23572:18:4" - }, - "scope": 3745, - "src": "23529:105:4", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3714, - "nodeType": "Block", - "src": "23877:537:4", - "statements": [ - { - "assignments": [ - 3659 - ], - "declarations": [ - { - "constant": false, - "id": 3659, - "name": "resultSpace", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3714, - "src": "23907:31:4", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 3658, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1203, - "src": "23907:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3666, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3660, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "23941:6:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1216_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 3662, - "indexExpression": { - "argumentTypes": null, - "id": 3661, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3643, - "src": "23948:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23941:16:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 3663, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1209, - "src": "23941:29:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1203_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 3665, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 3664, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23971:1:4", - "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:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "23907:66:4" - }, - { - "assignments": [ - 3668 - ], - "declarations": [ - { - "constant": false, - "id": 3668, - "name": "resultSpace_opp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3714, - "src": "23983:35:4", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 3667, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1203, - "src": "23983:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3675, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3669, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "24021:6:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1216_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 3671, - "indexExpression": { - "argumentTypes": null, - "id": 3670, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3643, - "src": "24028:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24021:16:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 3672, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1209, - "src": "24021:29:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1203_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 3674, - "indexExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 3673, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24051:1:4", - "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:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "23983:70:4" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3676, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3659, - "src": "24085:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3677, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "24085:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3678, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1175, - "src": "24085:35:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3681, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3679, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "24121:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3680, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "24121:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24085:47:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3682, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3659, - "src": "24134:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3683, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "24134:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3684, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1183, - "src": "24134:36:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3687, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3685, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "24171:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3686, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "24171:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24134:48:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3688, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3659, - "src": "24184:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3689, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "24184:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3690, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1191, - "src": "24184:30:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3693, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3691, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "24215:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3692, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "24215:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24184:42:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3694, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3668, - "src": "24240:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3695, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "24240:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3696, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1175, - "src": "24240:39:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3699, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3697, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "24280:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3698, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "24280:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24240:51:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3700, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3668, - "src": "24293:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3701, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "24293:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3702, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1183, - "src": "24293:40:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3705, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3703, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "24334:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3704, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "24334:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24293:52:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3706, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3668, - "src": "24347:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3707, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "24347:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3708, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1191, - "src": "24347:34:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3711, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3709, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "24382:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3710, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "24382:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24347:46:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3712, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "24071:336:4", - "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": 3657, - "id": 3713, - "nodeType": "Return", - "src": "24064:343:4" - } - ] - }, - "documentation": null, - "functionSelector": "21c3c4be", - "id": 3715, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getMyEventHoldings", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3644, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3643, - "name": "_eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3715, - "src": "23785:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3642, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23785:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "23784:18:4" - }, - "returnParameters": { - "id": 3657, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3646, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3715, - "src": "23824:7:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3645, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23824:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3648, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3715, - "src": "23833:7:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3647, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23833:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3650, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3715, - "src": "23842:7:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3649, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23842:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3652, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3715, - "src": "23851:7:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3651, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23851:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3654, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3715, - "src": "23860:7:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3653, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23860:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3656, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3715, - "src": "23869:7:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3655, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23869:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "23823:54:4" - }, - "scope": 3745, - "src": "23757:657:4", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3743, - "nodeType": "Block", - "src": "24506:127:4", - "statements": [ - { - "assignments": [ - 3725 - ], - "declarations": [ - { - "constant": false, - "id": 3725, - "name": "erc20Token", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3743, - "src": "24516:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 3724, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8069, - "src": "24516:5:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3729, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3727, - "name": "_tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3717, - "src": "24541:13:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3726, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8069, - "src": "24535:5:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$8069_$", - "typeString": "type(contract ERC20)" - } - }, - "id": 3728, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24535:20:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "typeString": "contract ERC20" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "24516:39:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3733, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3719, - "src": "24585:3:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3738, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "24619:4:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Exchange_$3745", - "typeString": "contract Exchange" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Exchange_$3745", - "typeString": "contract Exchange" - } - ], - "id": 3737, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "24611:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 3736, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "24611:7:4", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 3739, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24611:13:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 3734, - "name": "erc20Token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3725, - "src": "24590:10:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "typeString": "contract ERC20" - } - }, - "id": 3735, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 7681, - "src": "24590:20:4", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 3740, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24590:35:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3730, - "name": "erc20Token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3725, - "src": "24565:10:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "typeString": "contract ERC20" - } - }, - "id": 3732, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 7701, - "src": "24565:19:4", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 3741, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24565:61:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3742, - "nodeType": "ExpressionStatement", - "src": "24565:61:4" - } - ] - }, - "documentation": null, - "functionSelector": "917c854d", - "id": 3744, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 3722, - "modifierName": { - "argumentTypes": null, - "id": 3721, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7154, - "src": "24496:9:4", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "24496:9:4" - } - ], - "name": "removeOtherERC20Tokens", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3720, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3717, - "name": "_tokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3744, - "src": "24451:21:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3716, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "24451:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3719, - "name": "_to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3744, - "src": "24474:11:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3718, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "24474:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "24450:36:4" - }, - "returnParameters": { - "id": 3723, - "nodeType": "ParameterList", - "parameters": [], - "src": "24506:0:4" - }, - "scope": 3745, - "src": "24419:214:4", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 3746, - "src": "199:24437:4" - } - ], - "src": "33:24603:4" - }, - "legacyAST": { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/ExchangeMarket.sol", - "exportedSymbols": { - "Exchange": [ - 3745 - ] - }, - "id": 3746, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1124, - "literals": [ - "solidity", - ">=", - "0.6", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:24:4" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "file": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "id": 1125, - "nodeType": "ImportDirective", - "scope": 3746, - "sourceUnit": 8070, - "src": "59:55:4", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Pausable.sol", - "file": "@openzeppelin/contracts/utils/Pausable.sol", - "id": 1126, - "nodeType": "ImportDirective", - "scope": 3746, - "sourceUnit": 10626, - "src": "115:52:4", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Ownable.sol", - "file": "./utils/Ownable.sol", - "id": 1127, - "nodeType": "ImportDirective", - "scope": 3746, - "sourceUnit": 7182, - "src": "168:29:4", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 1128, - "name": "Pausable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10625, - "src": "220:8:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Pausable_$10625", - "typeString": "contract Pausable" - } - }, - "id": 1129, - "nodeType": "InheritanceSpecifier", - "src": "220:8:4" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 1130, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7181, - "src": "230:7:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$7181", - "typeString": "contract Ownable" - } - }, - "id": 1131, - "nodeType": "InheritanceSpecifier", - "src": "230:7:4" - } - ], - "contractDependencies": [ - 7181, - 9528, - 10625 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 3745, - "linearizedBaseContracts": [ - 3745, - 7181, - 10625, - 9528 - ], - "name": "Exchange", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 1134, - "libraryName": { - "contractScope": null, - "id": 1132, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7585, - "src": "254:8:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$7585", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "248:27:4", - "typeName": { - "id": 1133, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "267:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "functionSelector": "089cdd0c", - "id": 1137, - "name": "eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3745, - "src": "281:26:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1135, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "281:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 1136, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "306:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "08888c0a", - "id": 1142, - "name": "ODD_DECIMALS", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3745, - "src": "313:35:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1138, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "313:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - }, - "id": 1141, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 1139, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "343:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "34", - "id": 1140, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "347:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "src": "343:5:4", - "typeDescriptions": { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "262f92d2", - "id": 1147, - "name": "CURRENCY_DECIMALS", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3745, - "src": "382:40:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1143, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "382:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_10000000_by_1", - "typeString": "int_const 10000000" - }, - "id": 1146, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 1144, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "417:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "37", - "id": 1145, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "421:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - }, - "value": "7" - }, - "src": "417:5:4", - "typeDescriptions": { - "typeIdentifier": "t_rational_10000000_by_1", - "typeString": "int_const 10000000" - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "998f6ac0", - "id": 1150, - "name": "eventIds", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3745, - "src": "429:25:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1148, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "429:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1149, - "length": null, - "nodeType": "ArrayTypeName", - "src": "429:9:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "0b791430", - "id": 1154, - "name": "events", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3745, - "src": "460:39:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1216_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event)" - }, - "typeName": { - "id": 1153, - "keyType": { - "id": 1151, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "468:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "460:25:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1216_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event)" - }, - "valueType": { - "contractScope": null, - "id": 1152, - "name": "Event", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1216, - "src": "479:5:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage_ptr", - "typeString": "struct Exchange.Event" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "50968657", - "id": 1159, - "name": "myEvents", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3745, - "src": "505:45:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[])" - }, - "typeName": { - "id": 1158, - "keyType": { - "id": 1155, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "513:7:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "505:29:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[])" - }, - "valueType": { - "baseType": { - "id": 1156, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "524:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1157, - "length": null, - "nodeType": "ArrayTypeName", - "src": "524:9:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "canonicalName": "Exchange.Fraction", - "id": 1192, - "members": [ - { - "constant": false, - "id": 1161, - "name": "pool", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1192, - "src": "585:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1160, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "585:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1163, - "name": "cost", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1192, - "src": "661:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1162, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "661:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1165, - "name": "odd", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1192, - "src": "731:11:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1164, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "731:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1167, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1192, - "src": "845:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1166, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "845:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1169, - "name": "inPool", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1192, - "src": "944:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1168, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "944:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1171, - "name": "relIn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1192, - "src": "1050:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1170, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1050:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1175, - "name": "inPoolBalances", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1192, - "src": "1145:42:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 1174, - "keyType": { - "id": 1172, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1153:7:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1145:27:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 1173, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1164:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1177, - "name": "outPool", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1192, - "src": "1291:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1176, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1291:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1179, - "name": "relOut", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1192, - "src": "1391:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1178, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1391:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1183, - "name": "outPoolBalances", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1192, - "src": "1489:43:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 1182, - "keyType": { - "id": 1180, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1497:7:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1489:27:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 1181, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1508:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1185, - "name": "fees", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1192, - "src": "1638:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1184, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1638:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1187, - "name": "liqAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1192, - "src": "1735:17:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1186, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1735:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1191, - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1192, - "src": "1831:37:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 1190, - "keyType": { - "id": 1188, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1839:7:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1831:27:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 1189, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1850:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Fraction", - "nodeType": "StructDefinition", - "scope": 3745, - "src": "559:1404:4", - "visibility": "public" - }, - { - "canonicalName": "Exchange.ResultSpace", - "id": 1203, - "members": [ - { - "constant": false, - "id": 1194, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1203, - "src": "1998:10:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1193, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1998:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1196, - "name": "resultId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1203, - "src": "2087:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1195, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2087:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1198, - "name": "fraction", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1203, - "src": "2153:17:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage_ptr", - "typeString": "struct Exchange.Fraction" - }, - "typeName": { - "contractScope": null, - "id": 1197, - "name": "Fraction", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1192, - "src": "2153:8:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage_ptr", - "typeString": "struct Exchange.Fraction" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1202, - "name": "tookWinnings", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1203, - "src": "2232:37:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "typeName": { - "id": 1201, - "keyType": { - "id": 1199, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2240:7:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "2232:24:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 1200, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2251:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "ResultSpace", - "nodeType": "StructDefinition", - "scope": 3745, - "src": "1969:340:4", - "visibility": "public" - }, - { - "canonicalName": "Exchange.Event", - "id": 1216, - "members": [ - { - "constant": false, - "id": 1205, - "name": "name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1216, - "src": "2338:11:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1204, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2338:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1209, - "name": "resultSpaces", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1216, - "src": "2376:44:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1203_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace)" - }, - "typeName": { - "id": 1208, - "keyType": { - "id": 1206, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2384:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "2376:31:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1203_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace)" - }, - "valueType": { - "contractScope": null, - "id": 1207, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1203, - "src": "2395:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1211, - "name": "result", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1216, - "src": "2430:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1210, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2430:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1213, - "name": "urlOracle", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1216, - "src": "2493:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1212, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2493:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1215, - "name": "isResolved", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1216, - "src": "2556:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1214, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2556:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Event", - "nodeType": "StructDefinition", - "scope": 3745, - "src": "2315:281:4", - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 1222, - "name": "CreateEvent", - "nodeType": "EventDefinition", - "parameters": { - "id": 1221, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1218, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1222, - "src": "2624:18:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1217, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2624:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1220, - "indexed": true, - "name": "name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1222, - "src": "2644:19:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1219, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2644:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2623:41:4" - }, - "src": "2606:59:4" - }, - { - "anonymous": false, - "documentation": null, - "id": 1234, - "name": "BuyEvent", - "nodeType": "EventDefinition", - "parameters": { - "id": 1233, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1224, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1234, - "src": "2685:18:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1223, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2685:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1226, - "indexed": true, - "name": "resultSpaceId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1234, - "src": "2705:29:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1225, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2705:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1228, - "indexed": false, - "name": "fractionAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1234, - "src": "2736:22:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1227, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2736:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1230, - "indexed": false, - "name": "fractionCost", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1234, - "src": "2760:20:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1229, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2760:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1232, - "indexed": true, - "name": "buyer", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1234, - "src": "2782:21:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1231, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2782:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2684:120:4" - }, - "src": "2670:135:4" - }, - { - "anonymous": false, - "documentation": null, - "id": 1240, - "name": "CloseEvent", - "nodeType": "EventDefinition", - "parameters": { - "id": 1239, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1236, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1240, - "src": "2827:18:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1235, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2827:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1238, - "indexed": true, - "name": "resultSpaceId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1240, - "src": "2847:29:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1237, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2847:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2826:51:4" - }, - "src": "2810:68:4" - }, - { - "anonymous": false, - "documentation": null, - "id": 1248, - "name": "WithdrawEvent", - "nodeType": "EventDefinition", - "parameters": { - "id": 1247, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1242, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1248, - "src": "2903:18:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1241, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2903:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1244, - "indexed": false, - "name": "winAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1248, - "src": "2923:17:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1243, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2923:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1246, - "indexed": true, - "name": "buyer", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1248, - "src": "2942:21:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1245, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2942:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2902:62:4" - }, - "src": "2883:82:4" - }, - { - "anonymous": false, - "documentation": null, - "id": 1256, - "name": "SellEvent", - "nodeType": "EventDefinition", - "parameters": { - "id": 1255, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1250, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1256, - "src": "2986:18:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1249, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2986:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1252, - "indexed": false, - "name": "liquidateAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1256, - "src": "3006:23:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1251, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3006:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1254, - "indexed": true, - "name": "seller", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1256, - "src": "3031:22:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1253, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3031:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2985:69:4" - }, - "src": "2970:85:4" - }, - { - "body": { - "id": 1259, - "nodeType": "Block", - "src": "3082:15:4", - "statements": [] - }, - "documentation": null, - "id": 1260, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1257, - "nodeType": "ParameterList", - "parameters": [], - "src": "3072:2:4" - }, - "returnParameters": { - "id": 1258, - "nodeType": "ParameterList", - "parameters": [], - "src": "3082:0:4" - }, - "scope": 3745, - "src": "3061:36:4", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1275, - "nodeType": "Block", - "src": "3171:62:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 1272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1267, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "3189:6:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1216_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 1269, - "indexExpression": { - "argumentTypes": null, - "id": 1268, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1262, - "src": "3196:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3189:16:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 1270, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "isResolved", - "nodeType": "MemberAccess", - "referencedDeclaration": 1215, - "src": "3189:27:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 1271, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3220:5:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "3189:36:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 1273, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3188:38:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1266, - "id": 1274, - "nodeType": "Return", - "src": "3181:45:4" - } - ] - }, - "documentation": null, - "functionSelector": "a25e6ab2", - "id": 1276, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isEventOpen", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1263, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1262, - "name": "_eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1276, - "src": "3124:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1261, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3124:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3123:18:4" - }, - "returnParameters": { - "id": 1266, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1265, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1276, - "src": "3158:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1264, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3158:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3157:14:4" - }, - "scope": 3745, - "src": "3103:130:4", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1291, - "nodeType": "Block", - "src": "3309:61:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 1288, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1283, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "3327:6:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1216_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 1285, - "indexExpression": { - "argumentTypes": null, - "id": 1284, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1278, - "src": "3334:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3327:16:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 1286, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "isResolved", - "nodeType": "MemberAccess", - "referencedDeclaration": 1215, - "src": "3327:27:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1287, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3358:4:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "3327:35:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 1289, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3326:37:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1282, - "id": 1290, - "nodeType": "Return", - "src": "3319:44:4" - } - ] - }, - "documentation": null, - "functionSelector": "70f7ae95", - "id": 1292, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isEventClosed", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1279, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1278, - "name": "_eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1292, - "src": "3262:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1277, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3262:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3261:18:4" - }, - "returnParameters": { - "id": 1282, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1281, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1292, - "src": "3296:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1280, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3296:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3295:14:4" - }, - "scope": 3745, - "src": "3239:131:4", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1514, - "nodeType": "Block", - "src": "3550:1662:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1310, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1307, - "name": "_resultSpaceIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1295, - "src": "3568:15:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3568:22:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 1309, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3594:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "3568:27:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "526573756c7420537061636573206e65656420746f206265203220", - "id": 1311, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3597:29:4", - "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": 1306, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3560:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3560:67:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1313, - "nodeType": "ExpressionStatement", - "src": "3560:67:4" - }, - { - "assignments": [ - 1315 - ], - "declarations": [ - { - "constant": false, - "id": 1315, - "name": "resultId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1514, - "src": "3638:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1314, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3638:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1317, - "initialValue": { - "argumentTypes": null, - "hexValue": "31", - "id": 1316, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3657:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "nodeType": "VariableDeclarationStatement", - "src": "3638:20:4" - }, - { - "assignments": [ - 1319 - ], - "declarations": [ - { - "constant": false, - "id": 1319, - "name": "fractionAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1514, - "src": "3668:22:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1318, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3668:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1323, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1322, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 1320, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3693:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1321, - "name": "CURRENCY_DECIMALS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1147, - "src": "3697:17:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3693:21:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3668:46:4" - }, - { - "assignments": [ - 1325 - ], - "declarations": [ - { - "constant": false, - "id": 1325, - "name": "initialFractionCost", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1514, - "src": "3724:27:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1324, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3724:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1335, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1333, - "name": "fractionAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1319, - "src": "3796:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1329, - "name": "_resultSpaceIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1295, - "src": "3768:15:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3768:22:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1326, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3754:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3754:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1328, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "3754:13:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1331, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3754:37:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "3754:41:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1334, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3754:57:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3724:87:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1339, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1337, - "name": "initialFractionCost", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1325, - "src": "3850:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1338, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3872:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3850:23:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "496e697469616c204672616374696f6e20436f73742068617320746f206265203e2030", - "id": 1340, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3875:37:4", - "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": 1336, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3842:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1341, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3842:71:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1342, - "nodeType": "ExpressionStatement", - "src": "3842:71:4" - }, - { - "assignments": [ - 1344 - ], - "declarations": [ - { - "constant": false, - "id": 1344, - "name": "_event", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1514, - "src": "3993:20:4", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage_ptr", - "typeString": "struct Exchange.Event" - }, - "typeName": { - "contractScope": null, - "id": 1343, - "name": "Event", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1216, - "src": "3993:5:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage_ptr", - "typeString": "struct Exchange.Event" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1348, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1345, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "4016:6:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1216_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 1347, - "indexExpression": { - "argumentTypes": null, - "id": 1346, - "name": "eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1137, - "src": "4023:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4016:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3993:38:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1353, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1349, - "name": "_event", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1344, - "src": "4041:6:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage_ptr", - "typeString": "struct Exchange.Event storage pointer" - } - }, - "id": 1351, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "name", - "nodeType": "MemberAccess", - "referencedDeclaration": 1205, - "src": "4041:11:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1352, - "name": "_eventName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1299, - "src": "4055:10:4", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "4041:24:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 1354, - "nodeType": "ExpressionStatement", - "src": "4041:24:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1355, - "name": "_event", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1344, - "src": "4075:6:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage_ptr", - "typeString": "struct Exchange.Event storage pointer" - } - }, - "id": 1357, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "urlOracle", - "nodeType": "MemberAccess", - "referencedDeclaration": 1213, - "src": "4075:16:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1358, - "name": "_urlOracle", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1297, - "src": "4094:10:4", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "4075:29:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 1360, - "nodeType": "ExpressionStatement", - "src": "4075:29:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1365, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1361, - "name": "_event", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1344, - "src": "4114:6:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage_ptr", - "typeString": "struct Exchange.Event storage pointer" - } - }, - "id": 1363, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "isResolved", - "nodeType": "MemberAccess", - "referencedDeclaration": 1215, - "src": "4114:17:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 1364, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4134:5:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "4114:25:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1366, - "nodeType": "ExpressionStatement", - "src": "4114:25:4" - }, - { - "body": { - "id": 1493, - "nodeType": "Block", - "src": "4239:835:4", - "statements": [ - { - "assignments": [ - 1379 - ], - "declarations": [ - { - "constant": false, - "id": 1379, - "name": "resultSpace", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1493, - "src": "4254:31:4", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 1378, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1203, - "src": "4254:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1384, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1380, - "name": "_event", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1344, - "src": "4288:6:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage_ptr", - "typeString": "struct Exchange.Event storage pointer" - } - }, - "id": 1381, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1209, - "src": "4288:19:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1203_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 1383, - "indexExpression": { - "argumentTypes": null, - "id": 1382, - "name": "resultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1315, - "src": "4308:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4288:29:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4254:63:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1385, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1379, - "src": "4332:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1387, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "resultId", - "nodeType": "MemberAccess", - "referencedDeclaration": 1196, - "src": "4332:20:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1388, - "name": "resultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1315, - "src": "4355:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4332:31:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1390, - "nodeType": "ExpressionStatement", - "src": "4332:31:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1397, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1391, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1379, - "src": "4377:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1393, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "id", - "nodeType": "MemberAccess", - "referencedDeclaration": 1194, - "src": "4377:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1394, - "name": "_resultSpaceIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1295, - "src": "4394:15:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1396, - "indexExpression": { - "argumentTypes": null, - "id": 1395, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1368, - "src": "4410:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4394:18:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4377:35:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1398, - "nodeType": "ExpressionStatement", - "src": "4377:35:4" - }, - { - "assignments": [ - 1400 - ], - "declarations": [ - { - "constant": false, - "id": 1400, - "name": "fraction", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1493, - "src": "4427:25:4", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage_ptr", - "typeString": "struct Exchange.Fraction" - }, - "typeName": { - "contractScope": null, - "id": 1399, - "name": "Fraction", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1192, - "src": "4427:8:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage_ptr", - "typeString": "struct Exchange.Fraction" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1403, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1401, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1379, - "src": "4455:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1402, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "4455:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4427:48:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1413, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1404, - "name": "fraction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1400, - "src": "4489:8:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage_ptr", - "typeString": "struct Exchange.Fraction storage pointer" - } - }, - "id": 1406, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "4489:13:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1410, - "name": "_resultSpaceIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1295, - "src": "4519:15:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1411, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4519:22:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1407, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4505:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1408, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4505:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1409, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "4505:13:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1412, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4505:37:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4489:53:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1414, - "nodeType": "ExpressionStatement", - "src": "4489:53:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1419, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1415, - "name": "fraction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1400, - "src": "4556:8:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage_ptr", - "typeString": "struct Exchange.Fraction storage pointer" - } - }, - "id": 1417, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "cost", - "nodeType": "MemberAccess", - "referencedDeclaration": 1163, - "src": "4556:13:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1418, - "name": "initialFractionCost", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1325, - "src": "4572:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4556:35:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1420, - "nodeType": "ExpressionStatement", - "src": "4556:35:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1421, - "name": "fraction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1400, - "src": "4605:8:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage_ptr", - "typeString": "struct Exchange.Fraction storage pointer" - } - }, - "id": 1423, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "odd", - "nodeType": "MemberAccess", - "referencedDeclaration": 1165, - "src": "4605:12:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1424, - "name": "_resultSpaceIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1295, - "src": "4620:15:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1425, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4620:22:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1426, - "name": "ODD_DECIMALS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1142, - "src": "4643:12:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4620:35:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4605:50:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1429, - "nodeType": "ExpressionStatement", - "src": "4605:50:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1434, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1430, - "name": "fraction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1400, - "src": "4669:8:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage_ptr", - "typeString": "struct Exchange.Fraction storage pointer" - } - }, - "id": 1432, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1167, - "src": "4669:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1433, - "name": "fractionAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1319, - "src": "4687:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4669:32:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1435, - "nodeType": "ExpressionStatement", - "src": "4669:32:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1440, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1436, - "name": "fraction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1400, - "src": "4715:8:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage_ptr", - "typeString": "struct Exchange.Fraction storage pointer" - } - }, - "id": 1438, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1169, - "src": "4715:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1439, - "name": "fractionAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1319, - "src": "4733:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4715:32:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1441, - "nodeType": "ExpressionStatement", - "src": "4715:32:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1446, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1442, - "name": "fraction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1400, - "src": "4761:8:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage_ptr", - "typeString": "struct Exchange.Fraction storage pointer" - } - }, - "id": 1444, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1171, - "src": "4761:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1445, - "name": "fractionAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1319, - "src": "4778:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4761:31:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1447, - "nodeType": "ExpressionStatement", - "src": "4761:31:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1452, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1448, - "name": "fraction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1400, - "src": "4806:8:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage_ptr", - "typeString": "struct Exchange.Fraction storage pointer" - } - }, - "id": 1450, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "outPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1177, - "src": "4806:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 1451, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4825:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4806:20:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1453, - "nodeType": "ExpressionStatement", - "src": "4806:20:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1458, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1454, - "name": "fraction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1400, - "src": "4840:8:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage_ptr", - "typeString": "struct Exchange.Fraction storage pointer" - } - }, - "id": 1456, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "relOut", - "nodeType": "MemberAccess", - "referencedDeclaration": 1179, - "src": "4840:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 1457, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4858:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4840:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1459, - "nodeType": "ExpressionStatement", - "src": "4840:19:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1460, - "name": "fraction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1400, - "src": "4873:8:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage_ptr", - "typeString": "struct Exchange.Fraction storage pointer" - } - }, - "id": 1462, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "fees", - "nodeType": "MemberAccess", - "referencedDeclaration": 1185, - "src": "4873:13:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 1463, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4889:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4873:17:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1465, - "nodeType": "ExpressionStatement", - "src": "4873:17:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1470, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1466, - "name": "fraction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1400, - "src": "4904:8:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage_ptr", - "typeString": "struct Exchange.Fraction storage pointer" - } - }, - "id": 1468, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "liqAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1187, - "src": "4904:18:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 1469, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4925:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4904:22:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1471, - "nodeType": "ExpressionStatement", - "src": "4904:22:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1476, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1472, - "name": "resultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1315, - "src": "4941:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1475, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1473, - "name": "resultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1315, - "src": "4952:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 1474, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4963:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "4952:12:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4941:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1477, - "nodeType": "ExpressionStatement", - "src": "4941:23:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1491, - "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": 1478, - "name": "_event", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1344, - "src": "4978:6:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage_ptr", - "typeString": "struct Exchange.Event storage pointer" - } - }, - "id": 1481, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1209, - "src": "4978:19:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1203_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 1482, - "indexExpression": { - "argumentTypes": null, - "id": 1480, - "name": "resultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1315, - "src": "4998:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4978:29:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "id": 1483, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "4978:38:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1484, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1175, - "src": "4978:53:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 1489, - "indexExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1487, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "5040:4:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Exchange_$3745", - "typeString": "contract Exchange" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Exchange_$3745", - "typeString": "contract Exchange" - } - ], - "id": 1486, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5032:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1485, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5032:7:4", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 1488, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5032:13:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4978:68:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1490, - "name": "fractionAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1319, - "src": "5049:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4978:85:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1492, - "nodeType": "ExpressionStatement", - "src": "4978:85:4" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1374, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1371, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1368, - "src": "4206:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1372, - "name": "_resultSpaceIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1295, - "src": "4210:15:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1373, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4210:22:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4206:26:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1494, - "initializationExpression": { - "assignments": [ - 1368 - ], - "declarations": [ - { - "constant": false, - "id": 1368, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1494, - "src": "4194:6:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1367, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4194:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1370, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 1369, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4203:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "4194:10:4" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 1376, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "4234:3:4", - "subExpression": { - "argumentTypes": null, - "id": 1375, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1368, - "src": "4234:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1377, - "nodeType": "ExpressionStatement", - "src": "4234:3:4" - }, - "nodeType": "ForStatement", - "src": "4189:885:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1498, - "name": "eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1137, - "src": "5098:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1495, - "name": "eventIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1150, - "src": "5084:8:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 1497, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5084:13:4", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 1499, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5084:22:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1500, - "nodeType": "ExpressionStatement", - "src": "5084:22:4" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1502, - "name": "eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1137, - "src": "5133:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1503, - "name": "_eventName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1299, - "src": "5142:10:4", - "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": 1501, - "name": "CreateEvent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1222, - "src": "5121:11:4", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (uint256,string memory)" - } - }, - "id": 1504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5121:32:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1505, - "nodeType": "EmitStatement", - "src": "5116:37:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1510, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1506, - "name": "eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1137, - "src": "5163:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1509, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1507, - "name": "eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1137, - "src": "5173:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 1508, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5183:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "5173:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5163:21:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1511, - "nodeType": "ExpressionStatement", - "src": "5163:21:4" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1512, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5201:4:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 1305, - "id": 1513, - "nodeType": "Return", - "src": "5194:11:4" - } - ] - }, - "documentation": null, - "functionSelector": "54549f96", - "id": 1515, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 1302, - "modifierName": { - "argumentTypes": null, - "id": 1301, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7154, - "src": "3517:9:4", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3517:9:4" - } - ], - "name": "createEvent", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1300, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1295, - "name": "_resultSpaceIds", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1515, - "src": "3397:32:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1293, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3397:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1294, - "length": null, - "nodeType": "ArrayTypeName", - "src": "3397:9:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1297, - "name": "_urlOracle", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1515, - "src": "3450:24:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1296, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3450:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1299, - "name": "_eventName", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1515, - "src": "3476:24:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1298, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3476:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3396:105:4" - }, - "returnParameters": { - "id": 1305, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1304, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1515, - "src": "3536:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1303, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3536:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3535:14:4" - }, - "scope": 3745, - "src": "3376:1836:4", - "stateMutability": "payable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1906, - "nodeType": "Block", - "src": "5296:3013:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1524, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1517, - "src": "5326:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1523, - "name": "isEventOpen", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1276, - "src": "5314:11:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 1525, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5314:21:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1522, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5306:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 1526, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5306:30:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1527, - "nodeType": "ExpressionStatement", - "src": "5306:30:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1532, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1529, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5354:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1530, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5354:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1531, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5366:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5354:13:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416d6f756e742068617320746f206265203e2030", - "id": 1533, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5369:22:4", - "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": 1528, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5346:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1534, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5346:46:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1535, - "nodeType": "ExpressionStatement", - "src": "5346:46:4" - }, - { - "assignments": [ - 1537 - ], - "declarations": [ - { - "constant": false, - "id": 1537, - "name": "resultSpace_opp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1906, - "src": "5403:35:4", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 1536, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1203, - "src": "5403:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1544, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1538, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "5441:6:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1216_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 1540, - "indexExpression": { - "argumentTypes": null, - "id": 1539, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1517, - "src": "5448:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5441:16:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 1541, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1209, - "src": "5441:29:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1203_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 1543, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 1542, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5471:1:4", - "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:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5403:70:4" - }, - { - "assignments": [ - 1546 - ], - "declarations": [ - { - "constant": false, - "id": 1546, - "name": "resultSpace", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1906, - "src": "5483:31:4", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 1545, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1203, - "src": "5483:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1553, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1547, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "5517:6:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1216_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 1549, - "indexExpression": { - "argumentTypes": null, - "id": 1548, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1517, - "src": "5524:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5517:16:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 1550, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1209, - "src": "5517:29:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1203_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 1552, - "indexExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 1551, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5547:1:4", - "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:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5483:66:4" - }, - { - "assignments": [ - 1555 - ], - "declarations": [ - { - "constant": false, - "id": 1555, - "name": "poolA2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1906, - "src": "5560:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1554, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5560:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1557, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 1556, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5577:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "5560:18:4" - }, - { - "assignments": [ - 1559 - ], - "declarations": [ - { - "constant": false, - "id": 1559, - "name": "poolB2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1906, - "src": "5588:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1558, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5588:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1561, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 1560, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5605:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "5588:18:4" - }, - { - "assignments": [ - 1563 - ], - "declarations": [ - { - "constant": false, - "id": 1563, - "name": "FA2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1906, - "src": "5616:11:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1562, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5616:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1565, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 1564, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5630:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "5616:15:4" - }, - { - "assignments": [ - 1567 - ], - "declarations": [ - { - "constant": false, - "id": 1567, - "name": "FB2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1906, - "src": "5641:11:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1566, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5641:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1569, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 1568, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5655:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "5641:15:4" - }, - { - "assignments": [ - 1571 - ], - "declarations": [ - { - "constant": false, - "id": 1571, - "name": "ratio", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1906, - "src": "5666:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1570, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5666:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1573, - "initialValue": { - "argumentTypes": null, - "hexValue": "3530", - "id": 1572, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5682:2:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_50_by_1", - "typeString": "int_const 50" - }, - "value": "50" - }, - "nodeType": "VariableDeclarationStatement", - "src": "5666:18:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1588, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1574, - "name": "poolA2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1555, - "src": "5791:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "313030", - "id": 1585, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5855:3:4", - "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": 1582, - "name": "ratio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1571, - "src": "5844:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1579, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5830:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1580, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5830:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1581, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "5830:13:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1583, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5830:20:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1584, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "5830:24:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1586, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5830:29:4", - "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": 1575, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1546, - "src": "5800:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1576, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "5800:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1577, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "5800:25:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1578, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7419, - "src": "5800:29:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1587, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5800:60:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5791:69:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1589, - "nodeType": "ExpressionStatement", - "src": "5791:69:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1604, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1590, - "name": "poolB2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1559, - "src": "5892:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "313030", - "id": 1601, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5960:3:4", - "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": 1598, - "name": "ratio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1571, - "src": "5949:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1595, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5935:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1596, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5935:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1597, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "5935:13:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1599, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5935:20:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1600, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "5935:24:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1602, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5935:29:4", - "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": 1591, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1537, - "src": "5901:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1592, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "5901:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1593, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "5901:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1594, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7419, - "src": "5901:33:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1603, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5901:64:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5892:73:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1605, - "nodeType": "ExpressionStatement", - "src": "5892:73:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1606, - "name": "FA2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1563, - "src": "5994:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1615, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1546, - "src": "6046:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1616, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "6046:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1617, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "6046:25:4", - "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": 1609, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1546, - "src": "6012:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1610, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "6012:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1611, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1167, - "src": "6012:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1607, - "name": "poolA2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1555, - "src": "6001:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1608, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "6001:10:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1612, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6001:39:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1613, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "6000:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1614, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "6000:45:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1618, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6000:72:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5994:78:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1620, - "nodeType": "ExpressionStatement", - "src": "5994:78:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1634, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1621, - "name": "FB2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1567, - "src": "6100:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1630, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1537, - "src": "6156:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1631, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "6156:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1632, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "6156:29:4", - "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": 1624, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1537, - "src": "6118:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1625, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "6118:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1626, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1167, - "src": "6118:31:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1622, - "name": "poolB2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1559, - "src": "6107:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1623, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "6107:10:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6107:43:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1628, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "6106:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1629, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "6106:49:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1633, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6106:80:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6100:86:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1635, - "nodeType": "ExpressionStatement", - "src": "6100:86:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1636, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1546, - "src": "6197:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1639, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "6197:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1640, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "6197:25:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1641, - "name": "poolA2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1555, - "src": "6225:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6197:34:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1643, - "nodeType": "ExpressionStatement", - "src": "6197:34:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1650, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1644, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1537, - "src": "6241:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1647, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "6241:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1648, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "6241:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1649, - "name": "poolB2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1559, - "src": "6273:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6241:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1651, - "nodeType": "ExpressionStatement", - "src": "6241:38:4" - }, - { - "assignments": [ - 1653 - ], - "declarations": [ - { - "constant": false, - "id": 1653, - "name": "fractionsToAddA", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1906, - "src": "6290:23:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1652, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6290:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1660, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1656, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1546, - "src": "6324:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1657, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "6324:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1658, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1167, - "src": "6324:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1654, - "name": "FA2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1563, - "src": "6316:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1655, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7440, - "src": "6316:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1659, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6316:36:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6290:62:4" - }, - { - "assignments": [ - 1662 - ], - "declarations": [ - { - "constant": false, - "id": 1662, - "name": "fractionsToAddB", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1906, - "src": "6362:23:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1661, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6362:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1669, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1665, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1537, - "src": "6396:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1666, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "6396:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1667, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1167, - "src": "6396:31:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1663, - "name": "FB2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1567, - "src": "6388:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1664, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7440, - "src": "6388:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1668, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6388:40:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6362:66:4" - }, - { - "assignments": [ - 1671 - ], - "declarations": [ - { - "constant": false, - "id": 1671, - "name": "inPoolA2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1906, - "src": "6439:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1670, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6439:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1678, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1676, - "name": "fractionsToAddA", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1653, - "src": "6490:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1672, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1546, - "src": "6458:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1673, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "6458:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1674, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1169, - "src": "6458:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7419, - "src": "6458:31:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1677, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6458:48:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6439:67:4" - }, - { - "assignments": [ - 1680 - ], - "declarations": [ - { - "constant": false, - "id": 1680, - "name": "inPoolB2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1906, - "src": "6516:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1679, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6516:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1687, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1685, - "name": "fractionsToAddB", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1662, - "src": "6571:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1681, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1537, - "src": "6535:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1682, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "6535:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1683, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1169, - "src": "6535:31:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1684, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7419, - "src": "6535:35:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1686, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6535:52:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6516:71:4" - }, - { - "assignments": [ - 1689 - ], - "declarations": [ - { - "constant": false, - "id": 1689, - "name": "relIn2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1906, - "src": "6598:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1688, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6598:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1691, - "initialValue": { - "argumentTypes": null, - "id": 1690, - "name": "fractionsToAddA", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1653, - "src": "6615:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6598:32:4" - }, - { - "assignments": [ - 1693 - ], - "declarations": [ - { - "constant": false, - "id": 1693, - "name": "relIn2_opp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1906, - "src": "6640:18:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1692, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6640:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1695, - "initialValue": { - "argumentTypes": null, - "id": 1694, - "name": "fractionsToAddB", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1662, - "src": "6661:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6640:36:4" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1700, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1696, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1546, - "src": "6690:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1697, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "6690:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1698, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1171, - "src": "6690:26:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1699, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6719:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6690:30:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 1716, - "nodeType": "IfStatement", - "src": "6687:141:4", - "trueBody": { - "id": 1715, - "nodeType": "Block", - "src": "6721:107:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1713, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1701, - "name": "relIn2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1689, - "src": "6735:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1709, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1546, - "src": "6789:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1710, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "6789:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1711, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1169, - "src": "6789:27:4", - "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": 1704, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1546, - "src": "6757:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1705, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "6757:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1706, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1171, - "src": "6757:26:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1702, - "name": "inPoolA2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1671, - "src": "6744:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1703, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "6744:12:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1707, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6744:40:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1708, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "6744:44:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1712, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6744:73:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6735:82:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1714, - "nodeType": "ExpressionStatement", - "src": "6735:82:4" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1721, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1717, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1537, - "src": "6840:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1718, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "6840:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1719, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1171, - "src": "6840:30:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1720, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6873:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6840:34:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 1737, - "nodeType": "IfStatement", - "src": "6837:157:4", - "trueBody": { - "id": 1736, - "nodeType": "Block", - "src": "6875:119:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1734, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1722, - "name": "relIn2_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1693, - "src": "6889:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1730, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1537, - "src": "6951:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1731, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "6951:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1732, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1169, - "src": "6951:31:4", - "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": 1725, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1537, - "src": "6915:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1726, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "6915:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1727, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1171, - "src": "6915:30:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1723, - "name": "inPoolB2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1680, - "src": "6902:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1724, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "6902:12:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1728, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6902:44:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1729, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "6902:48:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6902:81:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6889:94:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1735, - "nodeType": "ExpressionStatement", - "src": "6889:94:4" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 1744, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1738, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1546, - "src": "7031:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1741, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "7031:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1742, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1169, - "src": "7031:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1743, - "name": "inPoolA2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1671, - "src": "7061:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7031:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1745, - "nodeType": "ExpressionStatement", - "src": "7031:38:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1752, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1746, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1537, - "src": "7098:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1749, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "7098:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1750, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1169, - "src": "7098:31:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1751, - "name": "inPoolB2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1680, - "src": "7132:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7098:42:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1753, - "nodeType": "ExpressionStatement", - "src": "7098:42:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1776, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1754, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1546, - "src": "7172:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1759, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "7172:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1760, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1175, - "src": "7172:35:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 1761, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1757, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7208:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7208:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7172:47:4", - "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": 1771, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1546, - "src": "7285:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1772, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "7285:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1773, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1171, - "src": "7285:26:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1769, - "name": "relIn2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1689, - "src": "7274:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1770, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7440, - "src": "7274:10:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1774, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7274:38:4", - "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": 1762, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1546, - "src": "7222:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1763, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "7222:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1764, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1175, - "src": "7222:35:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 1767, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1765, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7258:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7258:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7222:47:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1768, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7419, - "src": "7222:51:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1775, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7222:91:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7172:141:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1777, - "nodeType": "ExpressionStatement", - "src": "7172:141:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1800, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1778, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1537, - "src": "7344:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1783, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "7344:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1784, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1175, - "src": "7344:39:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 1785, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1781, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7384:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1782, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7384:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7344:51:4", - "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": 1795, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1537, - "src": "7469:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1796, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "7469:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1797, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1171, - "src": "7469:30:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1793, - "name": "relIn2_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1693, - "src": "7454:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1794, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7440, - "src": "7454:14:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1798, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7454:46:4", - "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": 1786, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1537, - "src": "7398:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1787, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "7398:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1788, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1175, - "src": "7398:39:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 1791, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1789, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7438:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1790, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7438:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7398:51:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7419, - "src": "7398:55:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1799, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7398:103:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7344:157:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1801, - "nodeType": "ExpressionStatement", - "src": "7344:157:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1819, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1802, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1546, - "src": "7534:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1807, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "7534:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1808, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1191, - "src": "7534:30:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 1809, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1805, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7565:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1806, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7565:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7534:42:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1817, - "name": "fractionsToAddA", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1653, - "src": "7626:15:4", - "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": 1810, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1546, - "src": "7579:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1811, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "7579:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1812, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1191, - "src": "7579:30:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 1815, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1813, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7610:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1814, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7610:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7579:42:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1816, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7419, - "src": "7579:46:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1818, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7579:63:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7534:108:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1820, - "nodeType": "ExpressionStatement", - "src": "7534:108:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1838, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1821, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1537, - "src": "7674:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1826, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "7674:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1827, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1191, - "src": "7674:34:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 1828, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1824, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7709:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1825, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7709:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7674:46:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1836, - "name": "fractionsToAddB", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1662, - "src": "7774:15:4", - "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": 1829, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1537, - "src": "7723:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1830, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "7723:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1831, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1191, - "src": "7723:34:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 1834, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1832, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7758:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1833, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7758:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7723:46:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1835, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7419, - "src": "7723:50:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1837, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7723:67:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7674:116:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1839, - "nodeType": "ExpressionStatement", - "src": "7674:116:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1846, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1840, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1546, - "src": "7821:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1843, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "7821:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1844, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1171, - "src": "7821:26:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1845, - "name": "relIn2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1689, - "src": "7850:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7821:35:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1847, - "nodeType": "ExpressionStatement", - "src": "7821:35:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1854, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1848, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1537, - "src": "7886:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1851, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "7886:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1852, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1171, - "src": "7886:30:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1853, - "name": "relIn2_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1693, - "src": "7919:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7886:43:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1855, - "nodeType": "ExpressionStatement", - "src": "7886:43:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1862, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1856, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1546, - "src": "7940:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1859, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "7940:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1860, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1167, - "src": "7940:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1861, - "name": "FA2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1563, - "src": "7970:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7940:33:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1863, - "nodeType": "ExpressionStatement", - "src": "7940:33:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1870, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1864, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1537, - "src": "7983:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1867, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "7983:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1868, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1167, - "src": "7983:31:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1869, - "name": "FB2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1567, - "src": "8017:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7983:37:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1871, - "nodeType": "ExpressionStatement", - "src": "7983:37:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1883, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1872, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1546, - "src": "8066:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1875, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "8066:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1876, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "liqAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1187, - "src": "8066:30:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1881, - "name": "fractionsToAddA", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1653, - "src": "8134:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1877, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1546, - "src": "8099:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1878, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "8099:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1879, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liqAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1187, - "src": "8099:30:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1880, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7419, - "src": "8099:34:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1882, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8099:51:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8066:84:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1884, - "nodeType": "ExpressionStatement", - "src": "8066:84:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1896, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1885, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1537, - "src": "8160:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1888, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "8160:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1889, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "liqAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1187, - "src": "8160:34:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1894, - "name": "fractionsToAddB", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1662, - "src": "8232:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1890, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1546, - "src": "8197:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1891, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "8197:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1892, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liqAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1187, - "src": "8197:30:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1893, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7419, - "src": "8197:34:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1895, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8197:51:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8160:88:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1897, - "nodeType": "ExpressionStatement", - "src": "8160:88:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1903, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1517, - "src": "8293:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1898, - "name": "myEvents", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1159, - "src": "8267:8:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 1901, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1899, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8276:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1900, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8276:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8267:20:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 1902, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8267:25:4", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 1904, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8267:35:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1905, - "nodeType": "ExpressionStatement", - "src": "8267:35:4" - } - ] - }, - "documentation": null, - "functionSelector": "51c6590a", - "id": 1907, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "addLiquidity", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1518, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1517, - "name": "_eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1907, - "src": "5240:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1516, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5240:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5239:18:4" - }, - "returnParameters": { - "id": 1521, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1520, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1907, - "src": "5282:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1519, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5282:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5281:14:4" - }, - "scope": 3745, - "src": "5218:3091:4", - "stateMutability": "payable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2323, - "nodeType": "Block", - "src": "8388:3316:4", - "statements": [ - { - "assignments": [ - 1915 - ], - "declarations": [ - { - "constant": false, - "id": 1915, - "name": "resultSpace_opp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2323, - "src": "8399:35:4", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 1914, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1203, - "src": "8399:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1922, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1916, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "8437:6:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1216_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 1918, - "indexExpression": { - "argumentTypes": null, - "id": 1917, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1909, - "src": "8444:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8437:16:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 1919, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1209, - "src": "8437:29:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1203_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 1921, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 1920, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8467:1:4", - "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:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8399:70:4" - }, - { - "assignments": [ - 1924 - ], - "declarations": [ - { - "constant": false, - "id": 1924, - "name": "resultSpace", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2323, - "src": "8479:31:4", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 1923, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1203, - "src": "8479:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1931, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1925, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "8513:6:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1216_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 1927, - "indexExpression": { - "argumentTypes": null, - "id": 1926, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1909, - "src": "8520:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8513:16:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 1928, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1209, - "src": "8513:29:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1203_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 1930, - "indexExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 1929, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8543:1:4", - "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:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8479:66:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1940, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1933, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1924, - "src": "8572:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1934, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "8572:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1935, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1191, - "src": "8572:30:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 1938, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1936, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8603:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1937, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8603:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8572:42:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1939, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8617:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8572:46:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4c69717569646974792068617320746f20626967676572207468616e2030", - "id": 1941, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8620:32:4", - "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": 1932, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "8564:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1942, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8564:89:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1943, - "nodeType": "ExpressionStatement", - "src": "8564:89:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1952, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1945, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1915, - "src": "8671:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1946, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "8671:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1947, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1191, - "src": "8671:34:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 1950, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1948, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8706:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1949, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8706:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8671:46:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1951, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8720:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8671:50:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4c69717569646974792068617320746f20626967676572207468616e2030", - "id": 1953, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8723:32:4", - "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": 1944, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "8663:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1954, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8663:93:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1955, - "nodeType": "ExpressionStatement", - "src": "8663:93:4" - }, - { - "assignments": [ - 1957 - ], - "declarations": [ - { - "constant": false, - "id": 1957, - "name": "poolA2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2323, - "src": "8767:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1956, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8767:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1959, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 1958, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8784:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "8767:18:4" - }, - { - "assignments": [ - 1961 - ], - "declarations": [ - { - "constant": false, - "id": 1961, - "name": "poolB2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2323, - "src": "8795:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1960, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8795:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1963, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 1962, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8812:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "8795:18:4" - }, - { - "assignments": [ - 1965 - ], - "declarations": [ - { - "constant": false, - "id": 1965, - "name": "liqPoolAfromUser", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2323, - "src": "8824:24:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1964, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8824:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1982, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1978, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1924, - "src": "8929:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1979, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "8929:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1980, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1167, - "src": "8929:27:4", - "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": 1973, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1924, - "src": "8898:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1974, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "8898:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1975, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "8898:25:4", - "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": 1966, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1924, - "src": "8851:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1967, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "8851:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1968, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1191, - "src": "8851:30:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 1971, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1969, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8882:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1970, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8882:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8851:42:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1972, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "8851:46:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1976, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8851:73:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1977, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "8851:77:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1981, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8851:106:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8824:133:4" - }, - { - "assignments": [ - 1984 - ], - "declarations": [ - { - "constant": false, - "id": 1984, - "name": "liqPoolBfromUser", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2323, - "src": "8967:24:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1983, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8967:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2001, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1997, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1915, - "src": "9080:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1998, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "9080:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1999, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1167, - "src": "9080:31:4", - "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": 1992, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1915, - "src": "9045:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1993, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "9045:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1994, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "9045:29:4", - "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": 1985, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1915, - "src": "8994:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1986, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "8994:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1987, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1191, - "src": "8994:34:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 1990, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1988, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "9029:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1989, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9029:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8994:46:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1991, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "8994:50:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1995, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8994:81:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1996, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "8994:85:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2000, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8994:118:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8967:145:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2013, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2002, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1924, - "src": "9153:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2005, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "9153:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2006, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "9153:25:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2011, - "name": "liqPoolAfromUser", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1965, - "src": "9211:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2007, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1924, - "src": "9181:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2008, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "9181:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2009, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "9181:25:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2010, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7440, - "src": "9181:29:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2012, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9181:47:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9153:75:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2014, - "nodeType": "ExpressionStatement", - "src": "9153:75:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2026, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2015, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1915, - "src": "9260:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2018, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "9260:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2019, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "9260:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2024, - "name": "liqPoolBfromUser", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1984, - "src": "9326:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2020, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1915, - "src": "9292:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2021, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "9292:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2022, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "9292:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2023, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7440, - "src": "9292:33:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2025, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9292:51:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9260:83:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2027, - "nodeType": "ExpressionStatement", - "src": "9260:83:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2044, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2028, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1924, - "src": "9372:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2031, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "9372:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2032, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1167, - "src": "9372:27:4", - "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": 2037, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1924, - "src": "9434:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2038, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "9434:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2039, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1191, - "src": "9434:30:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2042, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2040, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "9465:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2041, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9465:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9434:42:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2033, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1924, - "src": "9402:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2034, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "9402:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2035, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1167, - "src": "9402:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7440, - "src": "9402:31:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2043, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9402:75:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9372:105:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2045, - "nodeType": "ExpressionStatement", - "src": "9372:105:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2062, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2046, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1915, - "src": "9505:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2049, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "9505:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2050, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1167, - "src": "9505:31:4", - "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": 2055, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1915, - "src": "9575:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2056, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "9575:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2057, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1191, - "src": "9575:34:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2060, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2058, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "9610:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2059, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9610:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9575:46:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2051, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1915, - "src": "9539:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2052, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "9539:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2053, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1167, - "src": "9539:31:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2054, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7440, - "src": "9539:35:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2061, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9539:83:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9505:117:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2063, - "nodeType": "ExpressionStatement", - "src": "9505:117:4" - }, - { - "assignments": [ - 2065 - ], - "declarations": [ - { - "constant": false, - "id": 2065, - "name": "inPoolA2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2323, - "src": "9652:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2064, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9652:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2077, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2070, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1924, - "src": "9703:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2071, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "9703:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2072, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1191, - "src": "9703:30:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2075, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2073, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "9734:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2074, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9734:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9703:42:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2066, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1924, - "src": "9671:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2067, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "9671:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2068, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1169, - "src": "9671:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2069, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7440, - "src": "9671:31:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2076, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9671:75:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9652:94:4" - }, - { - "assignments": [ - 2079 - ], - "declarations": [ - { - "constant": false, - "id": 2079, - "name": "inPoolB2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2323, - "src": "9775:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2078, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9775:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2091, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2084, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1915, - "src": "9830:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2085, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "9830:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2086, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1191, - "src": "9830:34:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2089, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2087, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "9865:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2088, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9865:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9830:46:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2080, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1915, - "src": "9794:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2081, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "9794:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2082, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1169, - "src": "9794:31:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2083, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7440, - "src": "9794:35:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2090, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9794:83:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9775:102:4" - }, - { - "assignments": [ - 2093 - ], - "declarations": [ - { - "constant": false, - "id": 2093, - "name": "relAIn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2323, - "src": "9908:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2092, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9908:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2105, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2101, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1924, - "src": "9970:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2102, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "9970:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2103, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1169, - "src": "9970:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2098, - "name": "inPoolA2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2065, - "src": "9956:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2094, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1924, - "src": "9925:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2095, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "9925:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2096, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1171, - "src": "9925:26:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2097, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "9925:30:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2099, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9925:40:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2100, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "9925:44:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2104, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9925:73:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9908:90:4" - }, - { - "assignments": [ - 2107 - ], - "declarations": [ - { - "constant": false, - "id": 2107, - "name": "relBIn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2323, - "src": "10028:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2106, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10028:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2119, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2115, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1915, - "src": "10094:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2116, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "10094:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2117, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1169, - "src": "10094:31:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2112, - "name": "inPoolB2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2079, - "src": "10080:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2108, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1915, - "src": "10045:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2109, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "10045:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2110, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1171, - "src": "10045:30:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2111, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "10045:34:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2113, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10045:44:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2114, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "10045:48:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2118, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10045:81:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10028:98:4" - }, - { - "assignments": [ - 2121 - ], - "declarations": [ - { - "constant": false, - "id": 2121, - "name": "initialFractionsA", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2323, - "src": "10176:25:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2120, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10176:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2138, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2134, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1924, - "src": "10289:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2135, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "10289:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2136, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1171, - "src": "10289:26:4", - "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": 2129, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1924, - "src": "10256:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2130, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "10256:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2131, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1169, - "src": "10256:27:4", - "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": 2122, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1924, - "src": "10204:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2123, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "10204:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2124, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1175, - "src": "10204:35:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2127, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2125, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10240:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2126, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10240:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10204:47:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2128, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "10204:51:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2132, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10204:80:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2133, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "10204:84:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2137, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10204:112:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10176:140:4" - }, - { - "assignments": [ - 2140 - ], - "declarations": [ - { - "constant": false, - "id": 2140, - "name": "initialFractionsB", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2323, - "src": "10326:25:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2139, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10326:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2157, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2153, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1915, - "src": "10447:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2154, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "10447:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2155, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1171, - "src": "10447:30:4", - "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": 2148, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1915, - "src": "10410:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2149, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "10410:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2150, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1169, - "src": "10410:31:4", - "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": 2141, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1915, - "src": "10354:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2142, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "10354:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2143, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1175, - "src": "10354:39:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2146, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2144, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10394:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2145, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10394:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10354:51:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2147, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "10354:55:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2151, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10354:88:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "10354:92:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2156, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10354:124:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10326:152:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2181, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2158, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1924, - "src": "10510:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2163, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "10510:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2164, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1175, - "src": "10510:35:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2165, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2161, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10546:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10546:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10510:47:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2179, - "name": "inPoolA2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2065, - "src": "10642:8:4", - "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": 2170, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1924, - "src": "10593:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2171, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "10593:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2172, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1191, - "src": "10593:30:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2175, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2173, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10624:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10624:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10593:42:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2168, - "name": "initialFractionsA", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2121, - "src": "10571:17:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2169, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7440, - "src": "10571:21:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2176, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10571:65:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2166, - "name": "relAIn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2093, - "src": "10560:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2167, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "10560:10:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10560:77:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2178, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "10560:81:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10560:91:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10510:141:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2182, - "nodeType": "ExpressionStatement", - "src": "10510:141:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2183, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1915, - "src": "10682:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2188, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "10682:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2189, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1175, - "src": "10682:39:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2190, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2186, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10722:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2187, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10722:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10682:51:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2204, - "name": "inPoolB2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2079, - "src": "10822:8:4", - "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": 2195, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1915, - "src": "10769:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2196, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "10769:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2197, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1191, - "src": "10769:34:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2200, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2198, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10804:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2199, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10804:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10769:46:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2193, - "name": "initialFractionsB", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2140, - "src": "10747:17:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2194, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7440, - "src": "10747:21:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2201, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10747:69:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2191, - "name": "relBIn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2107, - "src": "10736:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2192, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "10736:10:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2202, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10736:81:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2203, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "10736:85:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2205, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10736:95:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10682:149:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2207, - "nodeType": "ExpressionStatement", - "src": "10682:149:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2214, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2208, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1924, - "src": "10842:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2211, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "10842:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2212, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1169, - "src": "10842:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2213, - "name": "inPoolA2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2065, - "src": "10872:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10842:38:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2215, - "nodeType": "ExpressionStatement", - "src": "10842:38:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2216, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1915, - "src": "10890:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2219, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "10890:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2220, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1169, - "src": "10890:31:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2221, - "name": "inPoolB2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2079, - "src": "10924:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10890:42:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2223, - "nodeType": "ExpressionStatement", - "src": "10890:42:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2230, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2224, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1924, - "src": "10943:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2227, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "10943:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2228, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1171, - "src": "10943:26:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2229, - "name": "relAIn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2093, - "src": "10972:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10943:35:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2231, - "nodeType": "ExpressionStatement", - "src": "10943:35:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2232, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1915, - "src": "10988:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2235, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "10988:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2236, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1171, - "src": "10988:30:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2237, - "name": "relBIn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2107, - "src": "11021:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10988:39:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2239, - "nodeType": "ExpressionStatement", - "src": "10988:39:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2256, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2240, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1924, - "src": "11076:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2243, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "11076:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2244, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "liqAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1187, - "src": "11076:30:4", - "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": 2249, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1924, - "src": "11144:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2250, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "11144:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2251, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1191, - "src": "11144:30:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2254, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2252, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11175:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2253, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11175:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11144:42:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2245, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1924, - "src": "11109:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2246, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "11109:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2247, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liqAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1187, - "src": "11109:30:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7440, - "src": "11109:34:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2255, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11109:78:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11076:111:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2257, - "nodeType": "ExpressionStatement", - "src": "11076:111:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2258, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1915, - "src": "11197:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2261, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "11197:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2262, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "liqAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1187, - "src": "11197:34:4", - "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": 2267, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1915, - "src": "11273:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2268, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "11273:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2269, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1191, - "src": "11273:34:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2272, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2270, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11308:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11308:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11273:46:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2263, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1915, - "src": "11234:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2264, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "11234:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2265, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liqAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1187, - "src": "11234:34:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2266, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7440, - "src": "11234:38:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2273, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11234:86:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11197:123:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2275, - "nodeType": "ExpressionStatement", - "src": "11197:123:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2276, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1924, - "src": "11353:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2281, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "11353:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2282, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1191, - "src": "11353:30:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2283, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2279, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11384:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2280, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11384:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "11353:42:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 2284, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11398:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11353:46:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2286, - "nodeType": "ExpressionStatement", - "src": "11353:46:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2296, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2287, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1915, - "src": "11431:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2292, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "11431:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2293, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1191, - "src": "11431:34:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2294, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2290, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11466:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2291, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11466:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "11431:46:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 2295, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11480:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11431:50:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2297, - "nodeType": "ExpressionStatement", - "src": "11431:50:4" - }, - { - "assignments": [ - 2299 - ], - "declarations": [ - { - "constant": false, - "id": 2299, - "name": "totalLiquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2323, - "src": "11492:22:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2298, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11492:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2314, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2309, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1915, - "src": "11590:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2310, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "11590:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2311, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "cost", - "nodeType": "MemberAccess", - "referencedDeclaration": 1163, - "src": "11590:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2307, - "name": "liqPoolBfromUser", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1984, - "src": "11569:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "11569:20:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11569:51:4", - "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": 2302, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1924, - "src": "11538:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2303, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "11538:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2304, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "cost", - "nodeType": "MemberAccess", - "referencedDeclaration": 1163, - "src": "11538:25:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2300, - "name": "liqPoolAfromUser", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1965, - "src": "11517:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "11517:20:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11517:47:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7419, - "src": "11517:51:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11517:104:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11492:129:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2320, - "name": "totalLiquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2299, - "src": "11682:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2315, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11662:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11662:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 2319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11662:19:4", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 2321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11662:35:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2322, - "nodeType": "ExpressionStatement", - "src": "11662:35:4" - } - ] - }, - "documentation": null, - "functionSelector": "9c8f9f23", - "id": 2324, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "removeLiquidity", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1910, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1909, - "name": "_eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2324, - "src": "8340:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1908, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8340:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8339:18:4" - }, - "returnParameters": { - "id": 1913, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1912, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2324, - "src": "8374:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1911, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8374:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8373:14:4" - }, - "scope": 3745, - "src": "8315:3389:4", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2576, - "nodeType": "Block", - "src": "11829:2008:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2337, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2326, - "src": "11859:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2336, - "name": "isEventOpen", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1276, - "src": "11847:11:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 2338, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11847:21:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2335, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "11839:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2339, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11839:30:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2340, - "nodeType": "ExpressionStatement", - "src": "11839:30:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2344, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2342, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2330, - "src": "11887:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2343, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11906:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11887:20:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416d6f756e742068617320746f206265203e2030", - "id": 2345, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11909:22:4", - "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": 2341, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "11879:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2346, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11879:53:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2347, - "nodeType": "ExpressionStatement", - "src": "11879:53:4" - }, - { - "assignments": [ - 2349 - ], - "declarations": [ - { - "constant": false, - "id": 2349, - "name": "_oppResSpaceId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2576, - "src": "11943:22:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2348, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11943:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2351, - "initialValue": { - "argumentTypes": null, - "hexValue": "31", - "id": 2350, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11968:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "nodeType": "VariableDeclarationStatement", - "src": "11943:26:4" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2354, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2352, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2328, - "src": "11982:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 2353, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12000:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "11982:19:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2360, - "nodeType": "IfStatement", - "src": "11979:44:4", - "trueBody": { - "id": 2359, - "nodeType": "Block", - "src": "12002:21:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2357, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2355, - "name": "_oppResSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2349, - "src": "12003:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "32", - "id": 2356, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12020:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "12003:18:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2358, - "nodeType": "ExpressionStatement", - "src": "12003:18:4" - } - ] - } - }, - { - "assignments": [ - 2362 - ], - "declarations": [ - { - "constant": false, - "id": 2362, - "name": "resultSpace_opp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2576, - "src": "12033:35:4", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 2361, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1203, - "src": "12033:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2369, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2363, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "12071:6:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1216_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 2365, - "indexExpression": { - "argumentTypes": null, - "id": 2364, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2326, - "src": "12078:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12071:16:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 2366, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1209, - "src": "12071:29:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1203_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 2368, - "indexExpression": { - "argumentTypes": null, - "id": 2367, - "name": "_oppResSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2349, - "src": "12101:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12071:45:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12033:83:4" - }, - { - "assignments": [ - 2371 - ], - "declarations": [ - { - "constant": false, - "id": 2371, - "name": "resultSpace", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2576, - "src": "12126:31:4", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 2370, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1203, - "src": "12126:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2378, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2372, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "12160:6:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1216_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 2374, - "indexExpression": { - "argumentTypes": null, - "id": 2373, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2326, - "src": "12167:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12160:16:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 2375, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1209, - "src": "12160:29:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1203_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 2377, - "indexExpression": { - "argumentTypes": null, - "id": 2376, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2328, - "src": "12190:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12160:45:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12126:79:4" - }, - { - "assignments": [ - 2380 - ], - "declarations": [ - { - "constant": false, - "id": 2380, - "name": "marketValue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2576, - "src": "12216:19:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2379, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12216:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2386, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2382, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2326, - "src": "12256:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2383, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2328, - "src": "12266:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2384, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2330, - "src": "12282:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2381, - "name": "getFractionsCost", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2980, - "src": "12239:16:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) view returns (uint256)" - } - }, - "id": 2385, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12239:60:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12216:83:4" - }, - { - "assignments": [ - 2388 - ], - "declarations": [ - { - "constant": false, - "id": 2388, - "name": "previousFractionCost", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2576, - "src": "12309:28:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2387, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12309:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2392, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2389, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2371, - "src": "12340:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2390, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "12340:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2391, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "cost", - "nodeType": "MemberAccess", - "referencedDeclaration": 1163, - "src": "12340:25:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12309:56:4" - }, - { - "assignments": [ - 2394 - ], - "declarations": [ - { - "constant": false, - "id": 2394, - "name": "slipage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2576, - "src": "12376:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2393, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12376:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2400, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2396, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2326, - "src": "12410:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2397, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2328, - "src": "12420:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2398, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2330, - "src": "12436:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2395, - "name": "getSlipageOnBuy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2952, - "src": "12394:15:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) view returns (uint256)" - } - }, - "id": 2399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12394:59:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12376:77:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2404, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2402, - "name": "slipage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2394, - "src": "12471:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 2403, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12481:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "12471:11:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "536c69706167652068617320746f206265206c657373207468616e2033", - "id": 2405, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12484:31:4", - "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": 2401, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12463:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12463:53:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2407, - "nodeType": "ExpressionStatement", - "src": "12463:53:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2412, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2409, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "12535:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2410, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12535:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 2411, - "name": "marketValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2380, - "src": "12548:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12535:24:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "54782076616c75652068617320746f20626520657175616c20746f2070617961626c652073656e74", - "id": 2413, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12561:42:4", - "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": 2408, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12527:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2414, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12527:77:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2415, - "nodeType": "ExpressionStatement", - "src": "12527:77:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2416, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2371, - "src": "12638:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2419, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "12638:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2420, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "12638:25:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2425, - "name": "marketValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2380, - "src": "12696:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2421, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2371, - "src": "12666:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2422, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "12666:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2423, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "12666:25:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7419, - "src": "12666:29:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2426, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12666:42:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12638:70:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2428, - "nodeType": "ExpressionStatement", - "src": "12638:70:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2429, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2371, - "src": "12739:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2432, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "12739:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2433, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "odd", - "nodeType": "MemberAccess", - "referencedDeclaration": 1165, - "src": "12739:24:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2449, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 2434, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12766:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 2435, - "name": "ODD_DECIMALS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1142, - "src": "12768:12:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12766:14:4", - "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": 2444, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2371, - "src": "12836:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2445, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "12836:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2446, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "12836:25:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2441, - "name": "ODD_DECIMALS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1142, - "src": "12818:12:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2437, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2362, - "src": "12784:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2438, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "12784:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2439, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "12784:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2440, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "12784:33:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12784:47:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2443, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "12784:51:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2447, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12784:78:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2448, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12783:80:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12766:97:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12739:124:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2451, - "nodeType": "ExpressionStatement", - "src": "12739:124:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2452, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2362, - "src": "12894:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2455, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "12894:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2456, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "odd", - "nodeType": "MemberAccess", - "referencedDeclaration": 1165, - "src": "12894:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2472, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2459, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 2457, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12925:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 2458, - "name": "ODD_DECIMALS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1142, - "src": "12927:12:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12925:14:4", - "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": 2467, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2362, - "src": "12991:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2468, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "12991:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2469, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "12991:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2464, - "name": "ODD_DECIMALS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1142, - "src": "12973:12:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2460, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2371, - "src": "12943:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2461, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "12943:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2462, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "12943:25:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2463, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "12943:29:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2465, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12943:43:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2466, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "12943:47:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2470, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12943:78:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2471, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12942:80:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12925:97:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12894:128:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2474, - "nodeType": "ExpressionStatement", - "src": "12894:128:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2488, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2475, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2371, - "src": "13052:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2478, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "13052:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2479, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "cost", - "nodeType": "MemberAccess", - "referencedDeclaration": 1163, - "src": "13052:25:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2484, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2371, - "src": "13110:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2485, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "13110:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2486, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1167, - "src": "13110:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2480, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2371, - "src": "13080:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2481, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "13080:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2482, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "13080:25:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2483, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "13080:29:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13080:58:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13052:86:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2489, - "nodeType": "ExpressionStatement", - "src": "13052:86:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2503, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2490, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2362, - "src": "13168:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2493, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "13168:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2494, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "cost", - "nodeType": "MemberAccess", - "referencedDeclaration": 1163, - "src": "13168:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2499, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2362, - "src": "13234:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2500, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "13234:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2501, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1167, - "src": "13234:31:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2495, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2362, - "src": "13200:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2496, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "13200:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2497, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "13200:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2498, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "13200:33:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2502, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13200:66:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13168:98:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2504, - "nodeType": "ExpressionStatement", - "src": "13168:98:4" - }, - { - "assignments": [ - 2506 - ], - "declarations": [ - { - "constant": false, - "id": 2506, - "name": "relIn2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2576, - "src": "13297:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2505, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13297:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2508, - "initialValue": { - "argumentTypes": null, - "id": 2507, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2330, - "src": "13314:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13297:33:4" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2513, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2509, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2371, - "src": "13343:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2510, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "13343:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2511, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1171, - "src": "13343:26:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2512, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13372:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "13343:30:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2532, - "nodeType": "IfStatement", - "src": "13340:158:4", - "trueBody": { - "id": 2531, - "nodeType": "Block", - "src": "13374:124:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2529, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2514, - "name": "relIn2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2506, - "src": "13388:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2527, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 2519, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13428:1:4", - "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": 2522, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2371, - "src": "13458:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2523, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "13458:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2524, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1171, - "src": "13458:26:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2520, - "name": "previousFractionCost", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2388, - "src": "13433:20:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2521, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "13433:24:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2525, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13433:52:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2526, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13432:54:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13428:58:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2515, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2371, - "src": "13397:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2516, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "13397:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2517, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1171, - "src": "13397:26:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "13397:30:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13397:90:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13388:99:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2530, - "nodeType": "ExpressionStatement", - "src": "13388:99:4" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 2547, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2533, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2371, - "src": "13530:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2538, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "13530:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2539, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1175, - "src": "13530:35:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2540, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2536, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13566:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2537, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13566:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "13530:47:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2543, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2371, - "src": "13591:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2544, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "13591:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2545, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1171, - "src": "13591:26:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2541, - "name": "relIn2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2506, - "src": "13580:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2542, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7440, - "src": "13580:10:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2546, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13580:38:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13530:88:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2548, - "nodeType": "ExpressionStatement", - "src": "13530:88:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2555, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2549, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2371, - "src": "13628:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2552, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "13628:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2553, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1171, - "src": "13628:26:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2554, - "name": "relIn2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2506, - "src": "13657:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13628:35:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2556, - "nodeType": "ExpressionStatement", - "src": "13628:35:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2562, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2326, - "src": "13699:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2557, - "name": "myEvents", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1159, - "src": "13673:8:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 2560, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2558, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13682:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13682:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13673:20:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 2561, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13673:25:4", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 2563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13673:35:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2564, - "nodeType": "ExpressionStatement", - "src": "13673:35:4" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2566, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2326, - "src": "13732:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2567, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2328, - "src": "13742:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2568, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2330, - "src": "13758:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2569, - "name": "previousFractionCost", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2388, - "src": "13776:20:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2570, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13798:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13798:10:4", - "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": 2565, - "name": "BuyEvent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1234, - "src": "13723:8:4", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,uint256,uint256,uint256,address)" - } - }, - "id": 2572, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13723:86:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2573, - "nodeType": "EmitStatement", - "src": "13718:91:4" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2574, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13826:4:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2334, - "id": 2575, - "nodeType": "Return", - "src": "13819:11:4" - } - ] - }, - "documentation": null, - "functionSelector": "40993b26", - "id": 2577, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "buy", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2331, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2326, - "name": "_eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2577, - "src": "11723:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2325, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11723:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2328, - "name": "_resultSpaceId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2577, - "src": "11741:22:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2327, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11741:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2330, - "name": "_fractionsAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2577, - "src": "11765:24:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2329, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11765:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11722:68:4" - }, - "returnParameters": { - "id": 2334, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2333, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2577, - "src": "11815:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2332, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "11815:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11814:14:4" - }, - "scope": 3745, - "src": "11710:2127:4", - "stateMutability": "payable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2847, - "nodeType": "Block", - "src": "13955:2248:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2590, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2579, - "src": "13985:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2589, - "name": "isEventOpen", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1276, - "src": "13973:11:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 2591, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13973:21:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2588, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "13965:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2592, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13965:30:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2593, - "nodeType": "ExpressionStatement", - "src": "13965:30:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2597, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2595, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2583, - "src": "14013:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2596, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14032:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14013:20:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416d6f756e742068617320746f206265203e2030", - "id": 2598, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14035:22:4", - "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": 2594, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "14005:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2599, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14005:53:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2600, - "nodeType": "ExpressionStatement", - "src": "14005:53:4" - }, - { - "assignments": [ - 2602 - ], - "declarations": [ - { - "constant": false, - "id": 2602, - "name": "resultSpace", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2847, - "src": "14077:31:4", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 2601, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1203, - "src": "14077:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2609, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2603, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "14111:6:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1216_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 2605, - "indexExpression": { - "argumentTypes": null, - "id": 2604, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2579, - "src": "14118:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14111:16:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 2606, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1209, - "src": "14111:29:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1203_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 2608, - "indexExpression": { - "argumentTypes": null, - "id": 2607, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2581, - "src": "14141:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14111:45:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14077:79:4" - }, - { - "assignments": [ - 2611 - ], - "declarations": [ - { - "constant": false, - "id": 2611, - "name": "_oppResSpaceId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2847, - "src": "14166:22:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2610, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14166:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2613, - "initialValue": { - "argumentTypes": null, - "hexValue": "31", - "id": 2612, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14191:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "nodeType": "VariableDeclarationStatement", - "src": "14166:26:4" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2616, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2614, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2581, - "src": "14205:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 2615, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14223:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "14205:19:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2622, - "nodeType": "IfStatement", - "src": "14202:44:4", - "trueBody": { - "id": 2621, - "nodeType": "Block", - "src": "14225:21:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2617, - "name": "_oppResSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2611, - "src": "14226:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "32", - "id": 2618, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14243:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "14226:18:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2620, - "nodeType": "ExpressionStatement", - "src": "14226:18:4" - } - ] - } - }, - { - "assignments": [ - 2624 - ], - "declarations": [ - { - "constant": false, - "id": 2624, - "name": "resultSpace_opp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2847, - "src": "14255:35:4", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 2623, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1203, - "src": "14255:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2631, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2625, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "14293:6:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1216_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 2627, - "indexExpression": { - "argumentTypes": null, - "id": 2626, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2579, - "src": "14300:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14293:16:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 2628, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1209, - "src": "14293:29:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1203_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 2630, - "indexExpression": { - "argumentTypes": null, - "id": 2629, - "name": "_oppResSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2611, - "src": "14323:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14293:45:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14255:83:4" - }, - { - "assignments": [ - 2633 - ], - "declarations": [ - { - "constant": false, - "id": 2633, - "name": "fractionsAmountRelative", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2847, - "src": "14349:31:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2632, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14349:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2646, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2642, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2602, - "src": "14439:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2643, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "14439:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2644, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1177, - "src": "14439:28:4", - "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": 2636, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2602, - "src": "14405:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2637, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "14405:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2638, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relOut", - "nodeType": "MemberAccess", - "referencedDeclaration": 1179, - "src": "14405:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2634, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2583, - "src": "14384:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "14384:20:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2639, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14384:49:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2640, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "14383:51:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2641, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "14383:55:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2645, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14383:85:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14349:119:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2655, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2648, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2602, - "src": "14486:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2649, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "14486:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2650, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1183, - "src": "14486:36:4", - "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": "14523:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2652, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "14523:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14486:48:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 2654, - "name": "fractionsAmountRelative", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2633, - "src": "14537:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14486:74:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e6f2042616c616e636520746f204c6971756964617465", - "id": 2656, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14562:25:4", - "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": 2647, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "14478:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14478:110:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2658, - "nodeType": "ExpressionStatement", - "src": "14478:110:4" - }, - { - "assignments": [ - 2660 - ], - "declarations": [ - { - "constant": false, - "id": 2660, - "name": "slipage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2847, - "src": "14599:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2659, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14599:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2666, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2662, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2579, - "src": "14634:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2663, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2581, - "src": "14644:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2664, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2583, - "src": "14660:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2661, - "name": "getSlipageOnSell", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2900, - "src": "14617:16:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) view returns (uint256)" - } - }, - "id": 2665, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14617:60:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14599:78:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2668, - "name": "slipage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2660, - "src": "14695:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 2669, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14705:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "14695:11:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "536c69706167652068617320746f206265206c657373207468616e2033", - "id": 2671, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14708:31:4", - "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": 2667, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "14687:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2672, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14687:53:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2673, - "nodeType": "ExpressionStatement", - "src": "14687:53:4" - }, - { - "assignments": [ - 2675 - ], - "declarations": [ - { - "constant": false, - "id": 2675, - "name": "marketValue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2847, - "src": "14751:19:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2674, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14751:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2682, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2678, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2602, - "src": "14794:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2679, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "14794:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2680, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "cost", - "nodeType": "MemberAccess", - "referencedDeclaration": 1163, - "src": "14794:25:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2676, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2583, - "src": "14773:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2677, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "14773:20:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2681, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14773:47:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14751:69:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2700, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2683, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2602, - "src": "14855:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2688, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "14855:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2689, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1183, - "src": "14855:36:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2690, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2686, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "14892:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2687, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "14892:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "14855:48:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2698, - "name": "fractionsAmountRelative", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2633, - "src": "14959:23:4", - "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": 2691, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2602, - "src": "14906:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2692, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "14906:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2693, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1183, - "src": "14906:36:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2696, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2694, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "14943:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2695, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "14943:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14906:48:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2697, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7440, - "src": "14906:52:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2699, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14906:77:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14855:128:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2701, - "nodeType": "ExpressionStatement", - "src": "14855:128:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2713, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2702, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2602, - "src": "15014:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2705, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "15014:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2706, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "outPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1177, - "src": "15014:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2711, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2583, - "src": "15078:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2707, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2602, - "src": "15045:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2708, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "15045:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2709, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1177, - "src": "15045:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2710, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7440, - "src": "15045:32:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2712, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15045:50:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15014:81:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2714, - "nodeType": "ExpressionStatement", - "src": "15014:81:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2726, - "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": 2602, - "src": "15127:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2718, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "15127:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2719, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "relOut", - "nodeType": "MemberAccess", - "referencedDeclaration": 1179, - "src": "15127:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2724, - "name": "fractionsAmountRelative", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2633, - "src": "15189:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2720, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2602, - "src": "15157:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2721, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "15157:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2722, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relOut", - "nodeType": "MemberAccess", - "referencedDeclaration": 1179, - "src": "15157:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2723, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7440, - "src": "15157:31:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2725, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15157:56:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15127:86:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2727, - "nodeType": "ExpressionStatement", - "src": "15127:86:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2739, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2728, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2602, - "src": "15243:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2731, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "15243:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2732, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1169, - "src": "15243:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2737, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2583, - "src": "15305:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2733, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2602, - "src": "15273:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2734, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "15273:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2735, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1169, - "src": "15273:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2736, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7419, - "src": "15273:31:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2738, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15273:49:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15243:79:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2740, - "nodeType": "ExpressionStatement", - "src": "15243:79:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2752, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2741, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2602, - "src": "15354:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2744, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "15354:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2745, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "15354:25:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2750, - "name": "marketValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2675, - "src": "15412:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2746, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2602, - "src": "15382:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2747, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "15382:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2748, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "15382:25:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2749, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7440, - "src": "15382:29:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2751, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15382:42:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15354:70:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2753, - "nodeType": "ExpressionStatement", - "src": "15354:70:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2775, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2754, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2602, - "src": "15455:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2757, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "15455:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2758, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "odd", - "nodeType": "MemberAccess", - "referencedDeclaration": 1165, - "src": "15455:24:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2774, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2761, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 2759, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15482:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 2760, - "name": "ODD_DECIMALS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1142, - "src": "15484:12:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15482:14:4", - "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": 2769, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2602, - "src": "15552:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2770, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "15552:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2771, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "15552:25:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2766, - "name": "ODD_DECIMALS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1142, - "src": "15534:12:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2762, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2624, - "src": "15500:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2763, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "15500:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2764, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "15500:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2765, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "15500:33:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2767, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15500:47:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2768, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "15500:51:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2772, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15500:78:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2773, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "15499:80:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15482:97:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15455:124:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2776, - "nodeType": "ExpressionStatement", - "src": "15455:124:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2798, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2777, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2624, - "src": "15610:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2780, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "15610:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2781, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "odd", - "nodeType": "MemberAccess", - "referencedDeclaration": 1165, - "src": "15610:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2797, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2784, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 2782, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15641:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 2783, - "name": "ODD_DECIMALS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1142, - "src": "15643:12:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15641:14:4", - "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": 2792, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2624, - "src": "15707:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2793, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "15707:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2794, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "15707:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2789, - "name": "ODD_DECIMALS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1142, - "src": "15689:12:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2785, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2602, - "src": "15659:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2786, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "15659:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2787, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "15659:25:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2788, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "15659:29:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2790, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15659:43:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2791, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "15659:47:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2795, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15659:78:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2796, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "15658:80:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15641:97:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15610:128:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2799, - "nodeType": "ExpressionStatement", - "src": "15610:128:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2800, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2602, - "src": "15768:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2803, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "15768:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2804, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "cost", - "nodeType": "MemberAccess", - "referencedDeclaration": 1163, - "src": "15768:25:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2809, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2602, - "src": "15826:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2810, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "15826:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2811, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1167, - "src": "15826:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2805, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2602, - "src": "15796:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2806, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "15796:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2807, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "15796:25:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "15796:29:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2812, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15796:58:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15768:86:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2814, - "nodeType": "ExpressionStatement", - "src": "15768:86:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 2828, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2815, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2624, - "src": "15884:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2818, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "15884:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2819, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "cost", - "nodeType": "MemberAccess", - "referencedDeclaration": 1163, - "src": "15884:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2824, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2624, - "src": "15950:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2825, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "15950:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2826, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1167, - "src": "15950:31:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2820, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2624, - "src": "15916:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2821, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "15916:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2822, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "15916:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2823, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "15916:33:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2827, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15916:66:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15884:98:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2829, - "nodeType": "ExpressionStatement", - "src": "15884:98:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2835, - "name": "marketValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2675, - "src": "16074:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2830, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "16054:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2833, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16054:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 2834, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16054:19:4", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 2836, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16054:32:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2837, - "nodeType": "ExpressionStatement", - "src": "16054:32:4" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2839, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2579, - "src": "16141:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2840, - "name": "marketValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2675, - "src": "16151:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2841, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "16164:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2842, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16164: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": 2838, - "name": "SellEvent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1256, - "src": "16131:9:4", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,uint256,address)" - } - }, - "id": 2843, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16131:44:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2844, - "nodeType": "EmitStatement", - "src": "16126:49:4" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2845, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16192:4:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2587, - "id": 2846, - "nodeType": "Return", - "src": "16185:11:4" - } - ] - }, - "documentation": null, - "functionSelector": "d3c9727c", - "id": 2848, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sell", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2584, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2579, - "name": "_eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2848, - "src": "13857:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2578, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13857:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2581, - "name": "_resultSpaceId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2848, - "src": "13875:22:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2580, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13875:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2583, - "name": "_fractionsAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2848, - "src": "13899:24:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2582, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13899:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13856:68:4" - }, - "returnParameters": { - "id": 2587, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2586, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2848, - "src": "13941:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2585, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "13941:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13940:14:4" - }, - "scope": 3745, - "src": "13843:2360:4", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2899, - "nodeType": "Block", - "src": "16341:344:4", - "statements": [ - { - "assignments": [ - 2860 - ], - "declarations": [ - { - "constant": false, - "id": 2860, - "name": "resultSpace", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2899, - "src": "16351:30:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_memory_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 2859, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1203, - "src": "16351:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2867, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2861, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "16384:6:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1216_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 2863, - "indexExpression": { - "argumentTypes": null, - "id": 2862, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2850, - "src": "16391:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16384:16:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 2864, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1209, - "src": "16384:29:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1203_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 2866, - "indexExpression": { - "argumentTypes": null, - "id": 2865, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2852, - "src": "16414:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16384:45:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16351:78:4" - }, - { - "assignments": [ - 2869 - ], - "declarations": [ - { - "constant": false, - "id": 2869, - "name": "marketValue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2899, - "src": "16439:19:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2868, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16439:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2875, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2871, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2850, - "src": "16478:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2872, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2852, - "src": "16488:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2873, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2854, - "src": "16504:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2870, - "name": "getFractionsCost", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2980, - "src": "16461:16:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) view returns (uint256)" - } - }, - "id": 2874, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16461:60:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16439:82:4" - }, - { - "assignments": [ - 2877 - ], - "declarations": [ - { - "constant": false, - "id": 2877, - "name": "newValue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2899, - "src": "16531:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2876, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16531:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2890, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2886, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2860, - "src": "16599:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_memory_ptr", - "typeString": "struct Exchange.ResultSpace memory" - } - }, - "id": 2887, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "16599:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_memory", - "typeString": "struct Exchange.Fraction memory" - } - }, - "id": 2888, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1167, - "src": "16599:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2882, - "name": "marketValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2869, - "src": "16581:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2878, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2860, - "src": "16551:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_memory_ptr", - "typeString": "struct Exchange.ResultSpace memory" - } - }, - "id": 2879, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "16551:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_memory", - "typeString": "struct Exchange.Fraction memory" - } - }, - "id": 2880, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "16551:25:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2881, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7440, - "src": "16551:29:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2883, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16551:42:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2884, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "16550:44:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2885, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "16550:48:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2889, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16550:77:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16531:96:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2896, - "name": "marketValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2869, - "src": "16666:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "313030", - "id": 2893, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16657:3:4", - "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": 2891, - "name": "newValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2877, - "src": "16644:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2892, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "16644:12:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2894, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16644:17:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2895, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "16644:21:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2897, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16644:34:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2858, - "id": 2898, - "nodeType": "Return", - "src": "16637:41:4" - } - ] - }, - "documentation": null, - "functionSelector": "e13a7d11", - "id": 2900, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getSlipageOnSell", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2855, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2850, - "name": "_eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2900, - "src": "16235:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2849, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16235:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2852, - "name": "_resultSpaceId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2900, - "src": "16253:22:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2851, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16253:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2854, - "name": "_fractionsAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2900, - "src": "16277:24:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2853, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16277:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16234:68:4" - }, - "returnParameters": { - "id": 2858, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2857, - "name": "slipage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2900, - "src": "16324:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2856, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16324:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16323:17:4" - }, - "scope": 3745, - "src": "16209:476:4", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2951, - "nodeType": "Block", - "src": "16822:344:4", - "statements": [ - { - "assignments": [ - 2912 - ], - "declarations": [ - { - "constant": false, - "id": 2912, - "name": "resultSpace", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2951, - "src": "16832:30:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_memory_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 2911, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1203, - "src": "16832:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2919, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2913, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "16865:6:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1216_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 2915, - "indexExpression": { - "argumentTypes": null, - "id": 2914, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2902, - "src": "16872:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16865:16:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 2916, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1209, - "src": "16865:29:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1203_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 2918, - "indexExpression": { - "argumentTypes": null, - "id": 2917, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2904, - "src": "16895:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16865:45:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16832:78:4" - }, - { - "assignments": [ - 2921 - ], - "declarations": [ - { - "constant": false, - "id": 2921, - "name": "marketValue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2951, - "src": "16920:19:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2920, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16920:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2927, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2923, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2902, - "src": "16959:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2924, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2904, - "src": "16969:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2925, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2906, - "src": "16985:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2922, - "name": "getFractionsCost", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2980, - "src": "16942:16:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) view returns (uint256)" - } - }, - "id": 2926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16942:60:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16920:82:4" - }, - { - "assignments": [ - 2929 - ], - "declarations": [ - { - "constant": false, - "id": 2929, - "name": "newValue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2951, - "src": "17012:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2928, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17012:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2942, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2938, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2912, - "src": "17080:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_memory_ptr", - "typeString": "struct Exchange.ResultSpace memory" - } - }, - "id": 2939, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "17080:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_memory", - "typeString": "struct Exchange.Fraction memory" - } - }, - "id": 2940, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1167, - "src": "17080:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2934, - "name": "marketValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2921, - "src": "17062:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2930, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2912, - "src": "17032:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_memory_ptr", - "typeString": "struct Exchange.ResultSpace memory" - } - }, - "id": 2931, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "17032:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_memory", - "typeString": "struct Exchange.Fraction memory" - } - }, - "id": 2932, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "17032:25:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2933, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7440, - "src": "17032:29:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2935, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17032:42:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2936, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "17031:44:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2937, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "17031:48:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2941, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17031:77:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17012:96:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2948, - "name": "newValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2929, - "src": "17150:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "313030", - "id": 2945, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17141:3:4", - "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": 2943, - "name": "marketValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2921, - "src": "17125:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2944, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "17125:15:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2946, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17125:20:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "17125:24:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2949, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17125:34:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2910, - "id": 2950, - "nodeType": "Return", - "src": "17118:41:4" - } - ] - }, - "documentation": null, - "functionSelector": "a8c776a1", - "id": 2952, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getSlipageOnBuy", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2907, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2902, - "name": "_eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2952, - "src": "16716:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2901, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16716:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2904, - "name": "_resultSpaceId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2952, - "src": "16734:22:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2903, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16734:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2906, - "name": "_fractionsAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2952, - "src": "16758:24:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2905, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16758:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16715:68:4" - }, - "returnParameters": { - "id": 2910, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2909, - "name": "slipage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2952, - "src": "16805:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2908, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16805:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16804:17:4" - }, - "scope": 3745, - "src": "16691:475:4", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2979, - "nodeType": "Block", - "src": "17296:159:4", - "statements": [ - { - "assignments": [ - 2964 - ], - "declarations": [ - { - "constant": false, - "id": 2964, - "name": "resultSpace", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2979, - "src": "17306:30:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_memory_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 2963, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1203, - "src": "17306:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2971, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2965, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "17339:6:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1216_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 2967, - "indexExpression": { - "argumentTypes": null, - "id": 2966, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2954, - "src": "17346:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17339:16:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 2968, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1209, - "src": "17339:29:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1203_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 2970, - "indexExpression": { - "argumentTypes": null, - "id": 2969, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2956, - "src": "17369:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17339:45:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17306:78:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2974, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2964, - "src": "17422:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_memory_ptr", - "typeString": "struct Exchange.ResultSpace memory" - } - }, - "id": 2975, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "17422:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_memory", - "typeString": "struct Exchange.Fraction memory" - } - }, - "id": 2976, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "cost", - "nodeType": "MemberAccess", - "referencedDeclaration": 1163, - "src": "17422:25:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2972, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2958, - "src": "17401:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2973, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "17401:20:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2977, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17401:47:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2962, - "id": 2978, - "nodeType": "Return", - "src": "17394:54:4" - } - ] - }, - "documentation": null, - "functionSelector": "bf3edf7e", - "id": 2980, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getFractionsCost", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2959, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2954, - "name": "_eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2980, - "src": "17198:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2953, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17198:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2956, - "name": "_resultSpaceId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2980, - "src": "17216:22:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2955, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17216:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2958, - "name": "_fractionsAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2980, - "src": "17240:24:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2957, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17240:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17197:68:4" - }, - "returnParameters": { - "id": 2962, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2961, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2980, - "src": "17287:7:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2960, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17287:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17286:9:4" - }, - "scope": 3745, - "src": "17172:283:4", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3169, - "nodeType": "Block", - "src": "17582:1624:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2993, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2982, - "src": "17612:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2992, - "name": "isEventOpen", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1276, - "src": "17600:11:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 2994, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17600:21:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2991, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "17592:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2995, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17592:30:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2996, - "nodeType": "ExpressionStatement", - "src": "17592:30:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3000, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2998, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2986, - "src": "17640:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2999, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17659:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "17640:20:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416d6f756e742068617320746f206265203e2030", - "id": 3001, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17662:22:4", - "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": 2997, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "17632:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3002, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17632:53:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3003, - "nodeType": "ExpressionStatement", - "src": "17632:53:4" - }, - { - "assignments": [ - 3005 - ], - "declarations": [ - { - "constant": false, - "id": 3005, - "name": "resultSpace", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3169, - "src": "17696:31:4", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 3004, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1203, - "src": "17696:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3012, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3006, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "17730:6:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1216_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 3008, - "indexExpression": { - "argumentTypes": null, - "id": 3007, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2982, - "src": "17737:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17730:16:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 3009, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1209, - "src": "17730:29:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1203_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 3011, - "indexExpression": { - "argumentTypes": null, - "id": 3010, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2984, - "src": "17760:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17730:45:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17696:79:4" - }, - { - "assignments": [ - 3014 - ], - "declarations": [ - { - "constant": false, - "id": 3014, - "name": "fractionsAmountRelative", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3169, - "src": "17811:31:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3013, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17811:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3027, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3023, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3005, - "src": "17900:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3024, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "17900:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3025, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1169, - "src": "17900:27:4", - "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": 3017, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3005, - "src": "17867:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3018, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "17867:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3019, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1171, - "src": "17867:26:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3015, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2986, - "src": "17846:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3016, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "17846:20:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3020, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17846:48:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3021, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "17845:50:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3022, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "17845:54:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3026, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17845:83:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17811:117:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3029, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3005, - "src": "17946:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3030, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "17946:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3031, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1175, - "src": "17946:35:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3034, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3032, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "17982:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "17982:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17946:47:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 3035, - "name": "fractionsAmountRelative", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3014, - "src": "17996:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17946:73:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e6f2042616c616e636520746f2050756c6c204672616374696f6e73", - "id": 3037, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18021:30:4", - "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": 3028, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "17938:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3038, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17938:114:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3039, - "nodeType": "ExpressionStatement", - "src": "17938:114:4" - }, - { - "assignments": [ - 3041 - ], - "declarations": [ - { - "constant": false, - "id": 3041, - "name": "fractionsOutsideOfLiquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3169, - "src": "18063:35:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3040, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18063:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3058, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3054, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3005, - "src": "18185:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3055, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "18185:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3056, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1169, - "src": "18185:27:4", - "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": 3046, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3005, - "src": "18132:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3047, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "18132:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3048, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1175, - "src": "18132:35:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3051, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3049, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "18168:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3050, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18168:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18132:47:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3042, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3005, - "src": "18101:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3043, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "18101:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3044, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1171, - "src": "18101:26:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3045, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "18101:30:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3052, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18101:79:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3053, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "18101:83:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3057, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18101:112:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18063:150:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3062, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3060, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2986, - "src": "18231:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 3061, - "name": "fractionsOutsideOfLiquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3041, - "src": "18250:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18231:46:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416d6f756e74206f66204672616374696f6e73206f757473696465206f66206c6971756964697479206861766520746f20626520626967676572207468616e2070726f706f736564", - "id": 3063, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18279:74:4", - "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": 3059, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "18223:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3064, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18223:131:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3065, - "nodeType": "ExpressionStatement", - "src": "18223:131:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3083, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3066, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3005, - "src": "18389:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3071, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "18389:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3072, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1175, - "src": "18389:35:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3073, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3069, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "18425:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3070, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18425:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "18389:47:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3081, - "name": "fractionsAmountRelative", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3014, - "src": "18491:23:4", - "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": 3074, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3005, - "src": "18439:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3075, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "18439:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3076, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1175, - "src": "18439:35:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3079, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3077, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "18475:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3078, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18475:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18439:47:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3080, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7440, - "src": "18439:51:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3082, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18439:76:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18389:126:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3084, - "nodeType": "ExpressionStatement", - "src": "18389:126:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3096, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3085, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3005, - "src": "18545:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3088, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "18545:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3089, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1169, - "src": "18545:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3094, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2986, - "src": "18607:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3090, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3005, - "src": "18575:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3091, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "18575:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3092, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1169, - "src": "18575:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3093, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7440, - "src": "18575:31:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3095, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18575:49:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18545:79:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3097, - "nodeType": "ExpressionStatement", - "src": "18545:79:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3109, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3098, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3005, - "src": "18655:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3101, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "18655:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3102, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1171, - "src": "18655:26:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3107, - "name": "fractionsAmountRelative", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3014, - "src": "18715:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3103, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3005, - "src": "18684:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3104, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "18684:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3105, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1171, - "src": "18684:26:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3106, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7440, - "src": "18684:30:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3108, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18684:55:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18655:84:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3110, - "nodeType": "ExpressionStatement", - "src": "18655:84:4" - }, - { - "assignments": [ - 3112 - ], - "declarations": [ - { - "constant": false, - "id": 3112, - "name": "out2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3169, - "src": "18750:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3111, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18750:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3119, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3117, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2986, - "src": "18798:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3113, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3005, - "src": "18765:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3114, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "18765:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3115, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1177, - "src": "18765:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3116, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7419, - "src": "18765:32:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3118, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18765:50:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18750:65:4" - }, - { - "assignments": [ - 3121 - ], - "declarations": [ - { - "constant": false, - "id": 3121, - "name": "relOut2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3169, - "src": "18825:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3120, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18825:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3134, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3130, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3005, - "src": "18887:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3131, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "18887:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3132, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1177, - "src": "18887:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3126, - "name": "out2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3112, - "src": "18876:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3122, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3005, - "src": "18844:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3123, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "18844:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3124, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relOut", - "nodeType": "MemberAccess", - "referencedDeclaration": 1179, - "src": "18844:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3125, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "18844:31:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3127, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18844:37:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3128, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "18843:39:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3129, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "18843:43:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3133, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18843:73:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18825:91:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3149, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3135, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3005, - "src": "18951:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3140, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "18951:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3141, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1183, - "src": "18951:36:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3142, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3138, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "18988:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3139, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18988:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "18951:48:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3145, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3005, - "src": "19014:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3146, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "19014:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3147, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relOut", - "nodeType": "MemberAccess", - "referencedDeclaration": 1179, - "src": "19014:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3143, - "name": "relOut2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3121, - "src": "19002:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7440, - "src": "19002:11:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3148, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19002:40:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18951:91:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3150, - "nodeType": "ExpressionStatement", - "src": "18951:91:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3151, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3005, - "src": "19074:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3154, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "19074:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3155, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "relOut", - "nodeType": "MemberAccess", - "referencedDeclaration": 1179, - "src": "19074:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3156, - "name": "relOut2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3121, - "src": "19104:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19074:37:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3158, - "nodeType": "ExpressionStatement", - "src": "19074:37:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3165, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3159, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3005, - "src": "19142:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3162, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "19142:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3163, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "outPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1177, - "src": "19142:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3164, - "name": "out2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3112, - "src": "19173:4:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19142:35:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3166, - "nodeType": "ExpressionStatement", - "src": "19142:35:4" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 3167, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19195:4:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2990, - "id": 3168, - "nodeType": "Return", - "src": "19188:11:4" - } - ] - }, - "documentation": null, - "functionSelector": "cccbcc7c", - "id": 3170, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "pullFractions", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2987, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2982, - "name": "_eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3170, - "src": "17484:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2981, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17484:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2984, - "name": "_resultSpaceId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3170, - "src": "17502:22:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2983, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17502:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2986, - "name": "_fractionsAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3170, - "src": "17526:24:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2985, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17526:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17483:68:4" - }, - "returnParameters": { - "id": 2990, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2989, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3170, - "src": "17568:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2988, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "17568:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17567:14:4" - }, - "scope": 3745, - "src": "17461:1745:4", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3333, - "nodeType": "Block", - "src": "19333:1312:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3183, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3172, - "src": "19363:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3182, - "name": "isEventOpen", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1276, - "src": "19351:11:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 3184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19351:21:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3181, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "19343:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3185, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19343:30:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3186, - "nodeType": "ExpressionStatement", - "src": "19343:30:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3190, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3188, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3176, - "src": "19391:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3189, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19410:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19391:20:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416d6f756e742068617320746f206265203e2030", - "id": 3191, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19413:22:4", - "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": 3187, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "19383:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3192, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19383:53:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3193, - "nodeType": "ExpressionStatement", - "src": "19383:53:4" - }, - { - "assignments": [ - 3195 - ], - "declarations": [ - { - "constant": false, - "id": 3195, - "name": "resultSpace", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3333, - "src": "19447:31:4", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 3194, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1203, - "src": "19447:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3202, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3196, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "19481:6:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1216_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 3198, - "indexExpression": { - "argumentTypes": null, - "id": 3197, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3172, - "src": "19488:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19481:16:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 3199, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1209, - "src": "19481:29:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1203_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 3201, - "indexExpression": { - "argumentTypes": null, - "id": 3200, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3174, - "src": "19511:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19481:45:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19447:79:4" - }, - { - "assignments": [ - 3204 - ], - "declarations": [ - { - "constant": false, - "id": 3204, - "name": "fractionsAmountRelative", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3333, - "src": "19555:31:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3203, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19555:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3217, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3213, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3195, - "src": "19645:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3214, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "19645:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3215, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1177, - "src": "19645:28:4", - "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": 3207, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3195, - "src": "19611:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3208, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "19611:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3209, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relOut", - "nodeType": "MemberAccess", - "referencedDeclaration": 1179, - "src": "19611:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3205, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3176, - "src": "19590:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "19590:20:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3210, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19590:49:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3211, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "19589:51:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "19589:55:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3216, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19589:85:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19555:119:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3219, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3195, - "src": "19692:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3220, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "19692:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3221, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1183, - "src": "19692:36:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3224, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3222, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "19729:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3223, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19729:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19692:48:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 3225, - "name": "fractionsAmountRelative", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3204, - "src": "19743:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19692:74:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e6f2042616c616e636520746f2050756c6c204672616374696f6e73", - "id": 3227, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19768:30:4", - "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": 3218, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "19684:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19684:115:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3229, - "nodeType": "ExpressionStatement", - "src": "19684:115:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3247, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3230, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3195, - "src": "19835:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3235, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "19835:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3236, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1183, - "src": "19835:36:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3237, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3233, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "19872:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19872:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "19835:48:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3245, - "name": "fractionsAmountRelative", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3204, - "src": "19939:23:4", - "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": 3238, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3195, - "src": "19886:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3239, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "19886:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3240, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1183, - "src": "19886:36:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3243, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3241, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "19923:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3242, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19923:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19886:48:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3244, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7440, - "src": "19886:52:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3246, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19886:77:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19835:128:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3248, - "nodeType": "ExpressionStatement", - "src": "19835:128:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3260, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3249, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3195, - "src": "19994:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3252, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "19994:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3253, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "outPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1177, - "src": "19994:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3258, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3176, - "src": "20058:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3254, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3195, - "src": "20025:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3255, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "20025:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3256, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1177, - "src": "20025:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7440, - "src": "20025:32:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3259, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20025:50:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19994:81:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3261, - "nodeType": "ExpressionStatement", - "src": "19994:81:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3273, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3262, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3195, - "src": "20107:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3265, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "20107:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3266, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "relOut", - "nodeType": "MemberAccess", - "referencedDeclaration": 1179, - "src": "20107:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3271, - "name": "fractionsAmountRelative", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3204, - "src": "20169:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3267, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3195, - "src": "20137:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3268, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "20137:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3269, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relOut", - "nodeType": "MemberAccess", - "referencedDeclaration": 1179, - "src": "20137:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3270, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7440, - "src": "20137:31:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20137:56:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20107:86:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3274, - "nodeType": "ExpressionStatement", - "src": "20107:86:4" - }, - { - "assignments": [ - 3276 - ], - "declarations": [ - { - "constant": false, - "id": 3276, - "name": "in2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3333, - "src": "20204:11:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3275, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20204:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3283, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3281, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3176, - "src": "20250:16:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3277, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3195, - "src": "20218:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3278, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "20218:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3279, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1169, - "src": "20218:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3280, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7419, - "src": "20218:31:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20218:49:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20204:63:4" - }, - { - "assignments": [ - 3285 - ], - "declarations": [ - { - "constant": false, - "id": 3285, - "name": "relIn2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3333, - "src": "20277:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3284, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20277:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3298, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3294, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3195, - "src": "20336:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3295, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "20336:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3296, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1169, - "src": "20336:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3290, - "name": "in2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3276, - "src": "20326:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3286, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3195, - "src": "20295:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3287, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "20295:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3288, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1171, - "src": "20295:26:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3289, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "20295:30:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3291, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20295:35:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3292, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20294:37:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3293, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "20294:41:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3297, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20294:70:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20277:87:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3299, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3195, - "src": "20399:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3304, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "20399:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3305, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1175, - "src": "20399:35:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3306, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3302, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "20435:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3303, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "20435:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "20399:47:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3309, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3195, - "src": "20460:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3310, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "20460:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3311, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1171, - "src": "20460:26:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3307, - "name": "relIn2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3285, - "src": "20449:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7440, - "src": "20449:10:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20449:38:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20399:88:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3314, - "nodeType": "ExpressionStatement", - "src": "20399:88:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3315, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3195, - "src": "20518:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3318, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "20518:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3319, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1171, - "src": "20518:26:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3320, - "name": "relIn2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3285, - "src": "20547:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20518:35:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3322, - "nodeType": "ExpressionStatement", - "src": "20518:35:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3329, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3323, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3195, - "src": "20583:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3326, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "20583:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3327, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1169, - "src": "20583:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3328, - "name": "in2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3276, - "src": "20613:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20583:33:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3330, - "nodeType": "ExpressionStatement", - "src": "20583:33:4" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 3331, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20634:4:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 3180, - "id": 3332, - "nodeType": "Return", - "src": "20627:11:4" - } - ] - }, - "documentation": null, - "functionSelector": "9d9bbde7", - "id": 3334, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "pushFractions", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3177, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3172, - "name": "_eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3334, - "src": "19235:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3171, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19235:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3174, - "name": "_resultSpaceId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3334, - "src": "19253:22:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3173, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19253:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3176, - "name": "_fractionsAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3334, - "src": "19277:24:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3175, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19277:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "19234:68:4" - }, - "returnParameters": { - "id": 3180, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3179, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3334, - "src": "19319:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3178, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "19319:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "19318:14:4" - }, - "scope": 3745, - "src": "19212:1433:4", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3382, - "nodeType": "Block", - "src": "20777:322:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3347, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3336, - "src": "20807:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3346, - "name": "isEventOpen", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1276, - "src": "20795:11:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 3348, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20795:21:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3345, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "20787:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20787:30:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3350, - "nodeType": "ExpressionStatement", - "src": "20787:30:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3354, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3352, - "name": "_resultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3338, - "src": "20868:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3353, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20880:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "20868:13:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 3355, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20867:15:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3356, - "name": "_resultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3338, - "src": "20887:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 3357, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20899:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "20887:13:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 3359, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20886:15:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "20867:34:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3351, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "20859:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3361, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20859:43:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3362, - "nodeType": "ExpressionStatement", - "src": "20859:43:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3368, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3363, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "20941:6:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1216_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 3365, - "indexExpression": { - "argumentTypes": null, - "id": 3364, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3336, - "src": "20948:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "20941:16:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 3366, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "result", - "nodeType": "MemberAccess", - "referencedDeclaration": 1211, - "src": "20941:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3367, - "name": "_resultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3338, - "src": "20967:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20941:35:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3369, - "nodeType": "ExpressionStatement", - "src": "20941:35:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3375, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3370, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "21012:6:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1216_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 3372, - "indexExpression": { - "argumentTypes": null, - "id": 3371, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3336, - "src": "21019:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "21012:16:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 3373, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "isResolved", - "nodeType": "MemberAccess", - "referencedDeclaration": 1215, - "src": "21012:27:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 3374, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21042:4:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "21012:34:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3376, - "nodeType": "ExpressionStatement", - "src": "21012:34:4" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3378, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3336, - "src": "21072:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3379, - "name": "_resultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3338, - "src": "21082:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3377, - "name": "CloseEvent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1240, - "src": "21061:10:4", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256)" - } - }, - "id": 3380, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21061:31:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3381, - "nodeType": "EmitStatement", - "src": "21056:36:4" - } - ] - }, - "documentation": null, - "functionSelector": "64f66467", - "id": 3383, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 3341, - "modifierName": { - "argumentTypes": null, - "id": 3340, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7154, - "src": "20744:9:4", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "20744:9:4" - } - ], - "name": "resolveEvent", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3339, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3336, - "name": "_eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3383, - "src": "20700:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3335, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20700:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3338, - "name": "_resultId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3383, - "src": "20718:17:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3337, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20718:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20699:37:4" - }, - "returnParameters": { - "id": 3344, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3343, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3383, - "src": "20763:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3342, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "20763:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20762:14:4" - }, - "scope": 3745, - "src": "20678:421:4", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3522, - "nodeType": "Block", - "src": "21199:1130:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3394, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3385, - "src": "21232:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3393, - "name": "isEventClosed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1292, - "src": "21218:13:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 3395, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21218:23:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4576656e742068617320746f20626520636c6f736564", - "id": 3396, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21243:24:4", - "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": 3392, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "21210:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3397, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21210:58:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3398, - "nodeType": "ExpressionStatement", - "src": "21210:58:4" - }, - { - "assignments": [ - 3400 - ], - "declarations": [ - { - "constant": false, - "id": 3400, - "name": "resultSpace", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3522, - "src": "21278:31:4", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 3399, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1203, - "src": "21278:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3407, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3401, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "21312:6:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1216_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 3403, - "indexExpression": { - "argumentTypes": null, - "id": 3402, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3385, - "src": "21319:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "21312:16:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 3404, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1209, - "src": "21312:29:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1203_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 3406, - "indexExpression": { - "argumentTypes": null, - "id": 3405, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "21342:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "21312:45:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21278:79:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3414, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3409, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "21375:6:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1216_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 3411, - "indexExpression": { - "argumentTypes": null, - "id": 3410, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3385, - "src": "21382:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "21375:16:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 3412, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "result", - "nodeType": "MemberAccess", - "referencedDeclaration": 1211, - "src": "21375:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 3413, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "21402:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21375:41:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "526573756c74205370616365206973206e6f74207468652077696e6e6572", - "id": 3415, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21418:32:4", - "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": 3408, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "21367:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3416, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21367:84:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3417, - "nodeType": "ExpressionStatement", - "src": "21367:84:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3425, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3419, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3400, - "src": "21469:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3420, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tookWinnings", - "nodeType": "MemberAccess", - "referencedDeclaration": 1202, - "src": "21469:24:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 3423, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3421, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "21494:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3422, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "21494:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "21469:36:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 3424, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21509:5:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "21469:45:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "57696e6e696e6720616c72656164792074616b656e", - "id": 3426, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21516:23:4", - "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": 3418, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "21461:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21461:79:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3428, - "nodeType": "ExpressionStatement", - "src": "21461:79:4" - }, - { - "assignments": [ - 3430 - ], - "declarations": [ - { - "constant": false, - "id": 3430, - "name": "absoluteFractionsIn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3522, - "src": "21580:27:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3429, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21580:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3448, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3444, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3400, - "src": "21697:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3445, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "21697:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3446, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1171, - "src": "21697:26:4", - "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": 3438, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3400, - "src": "21663:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3439, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "21663:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3440, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1169, - "src": "21663:27:4", - "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": 3431, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3400, - "src": "21611:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3432, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "21611:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3433, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1175, - "src": "21611:35:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3436, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3434, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "21647:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3435, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "21647:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "21611:47:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "21611:51:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21611:80:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3442, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "21610:82:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3443, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "21610:86:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3447, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21610:114:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21580:144:4" - }, - { - "assignments": [ - 3450 - ], - "declarations": [ - { - "constant": false, - "id": 3450, - "name": "absoluteFractionsOut", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3522, - "src": "21734:28:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3449, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21734:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3468, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3464, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3400, - "src": "21854:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3465, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "21854:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3466, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relOut", - "nodeType": "MemberAccess", - "referencedDeclaration": 1179, - "src": "21854:27:4", - "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": 3458, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3400, - "src": "21819:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3459, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "21819:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3460, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1177, - "src": "21819:28:4", - "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": 3451, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3400, - "src": "21766:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3452, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "21766:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3453, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1183, - "src": "21766:36:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3456, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3454, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "21803:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "21803:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "21766:48:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3457, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "21766:52:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3461, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21766:82:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3462, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "21765:84:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3463, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "21765:88:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21765:117:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21734:148:4" - }, - { - "assignments": [ - 3470 - ], - "declarations": [ - { - "constant": false, - "id": 3470, - "name": "winningAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3522, - "src": "21892:21:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3469, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21892:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3493, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3490, - "name": "CURRENCY_DECIMALS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1147, - "src": "22048:17:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3488, - "name": "ODD_DECIMALS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1142, - "src": "22031:12:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "22031:16:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3491, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22031:35:4", - "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": 3482, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3400, - "src": "22000:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3483, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "22000:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3484, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "odd", - "nodeType": "MemberAccess", - "referencedDeclaration": 1165, - "src": "22000:24:4", - "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": 3477, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3400, - "src": "21969:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3478, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "21969:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3479, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "cost", - "nodeType": "MemberAccess", - "referencedDeclaration": 1163, - "src": "21969:25:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3473, - "name": "absoluteFractionsIn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3430, - "src": "21943:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3471, - "name": "absoluteFractionsOut", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3450, - "src": "21918:20:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3472, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7419, - "src": "21918:24:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3474, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21918:45:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3475, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "21917:47:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3476, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "21917:51:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21917:78:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3481, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "21917:82:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21917:108:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3486, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "21916:110:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "21916:114:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3492, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21916:151:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21892:175:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3499, - "name": "winningAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3470, - "src": "22126:13:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3494, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "22106:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3497, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "22106:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 3498, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "22106:19:4", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 3500, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22106:34:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3501, - "nodeType": "ExpressionStatement", - "src": "22106:34:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 3513, - "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": 3502, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "22180:6:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1216_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 3504, - "indexExpression": { - "argumentTypes": null, - "id": 3503, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3385, - "src": "22187:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "22180:16:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 3505, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1209, - "src": "22180:29:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1203_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 3507, - "indexExpression": { - "argumentTypes": null, - "id": 3506, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3387, - "src": "22210:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "22180:45:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "id": 3508, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tookWinnings", - "nodeType": "MemberAccess", - "referencedDeclaration": 1202, - "src": "22180:58:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 3511, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3509, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "22239:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3510, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "22239:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "22180:70:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 3512, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22253:4:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "22180:77:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3514, - "nodeType": "ExpressionStatement", - "src": "22180:77:4" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3516, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3385, - "src": "22286:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3517, - "name": "winningAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3470, - "src": "22296:13:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3518, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "22311:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3519, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "22311: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": 3515, - "name": "WithdrawEvent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1248, - "src": "22272:13:4", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,uint256,address)" - } - }, - "id": 3520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22272:50:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3521, - "nodeType": "EmitStatement", - "src": "22267:55:4" - } - ] - }, - "documentation": null, - "functionSelector": "e682e9ad", - "id": 3523, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "withdrawWins", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3388, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3385, - "name": "_eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3523, - "src": "21127:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3384, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21127:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3387, - "name": "_resultSpaceId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3523, - "src": "21145:22:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3386, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21145:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21126:42:4" - }, - "returnParameters": { - "id": 3391, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3390, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3523, - "src": "21185:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3389, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "21185:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21184:14:4" - }, - "scope": 3745, - "src": "21105:1224:4", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3531, - "nodeType": "Block", - "src": "22430:32:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3529, - "name": "eventIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1150, - "src": "22447:8:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "functionReturnParameters": 3528, - "id": 3530, - "nodeType": "Return", - "src": "22440:15:4" - } - ] - }, - "documentation": null, - "functionSelector": "404aa8f9", - "id": 3532, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getEvents", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3524, - "nodeType": "ParameterList", - "parameters": [], - "src": "22378:2:4" - }, - "returnParameters": { - "id": 3528, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3527, - "name": "event_ids", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3532, - "src": "22402:26:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3525, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22402:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3526, - "length": null, - "nodeType": "ArrayTypeName", - "src": "22402:9:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22401:28:4" - }, - "scope": 3745, - "src": "22360:102:4", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3561, - "nodeType": "Block", - "src": "22599:169:4", - "statements": [ - { - "assignments": [ - 3546 - ], - "declarations": [ - { - "constant": false, - "id": 3546, - "name": "_event", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3561, - "src": "22609:19:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_memory_ptr", - "typeString": "struct Exchange.Event" - }, - "typeName": { - "contractScope": null, - "id": 3545, - "name": "Event", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1216, - "src": "22609:5:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage_ptr", - "typeString": "struct Exchange.Event" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3550, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3547, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "22631:6:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1216_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 3549, - "indexExpression": { - "argumentTypes": null, - "id": 3548, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "22638:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "22631:16:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "22609:38:4" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3551, - "name": "_event", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3546, - "src": "22697:6:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_memory_ptr", - "typeString": "struct Exchange.Event memory" - } - }, - "id": 3552, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "name", - "nodeType": "MemberAccess", - "referencedDeclaration": 1205, - "src": "22697:11:4", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3553, - "name": "_event", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3546, - "src": "22710:6:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_memory_ptr", - "typeString": "struct Exchange.Event memory" - } - }, - "id": 3554, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "result", - "nodeType": "MemberAccess", - "referencedDeclaration": 1211, - "src": "22710:13:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3555, - "name": "_event", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3546, - "src": "22725:6:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_memory_ptr", - "typeString": "struct Exchange.Event memory" - } - }, - "id": 3556, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "urlOracle", - "nodeType": "MemberAccess", - "referencedDeclaration": 1213, - "src": "22725:16:4", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3557, - "name": "_event", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3546, - "src": "22743:6:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_memory_ptr", - "typeString": "struct Exchange.Event memory" - } - }, - "id": 3558, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "isResolved", - "nodeType": "MemberAccess", - "referencedDeclaration": 1215, - "src": "22743:17:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 3559, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "22696:65:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_string_memory_$_t_uint256_$_t_string_memory_$_t_bool_$", - "typeString": "tuple(string memory,uint256,string memory,bool)" - } - }, - "functionReturnParameters": 3544, - "id": 3560, - "nodeType": "Return", - "src": "22689:72:4" - } - ] - }, - "documentation": null, - "functionSelector": "4392bb68", - "id": 3562, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getEventData", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3535, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3534, - "name": "_eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3562, - "src": "22515:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3533, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22515:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22514:18:4" - }, - "returnParameters": { - "id": 3544, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3537, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3562, - "src": "22554:13:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3536, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "22554:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3539, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3562, - "src": "22569:7:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3538, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22569:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3541, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3562, - "src": "22578:13:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3540, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "22578:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3543, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3562, - "src": "22593:4:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3542, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "22593:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22553:45:4" - }, - "scope": 3745, - "src": "22493:275:4", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3628, - "nodeType": "Block", - "src": "23075:394:4", - "statements": [ - { - "assignments": [ - 3590 - ], - "declarations": [ - { - "constant": false, - "id": 3590, - "name": "resultSpace", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3628, - "src": "23085:30:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_memory_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 3589, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1203, - "src": "23085:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3597, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3591, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "23118:6:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1216_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 3593, - "indexExpression": { - "argumentTypes": null, - "id": 3592, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3564, - "src": "23125:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23118:16:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 3594, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1209, - "src": "23118:29:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1203_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 3596, - "indexExpression": { - "argumentTypes": null, - "id": 3595, - "name": "resultSpace_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3566, - "src": "23148:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23118:45:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "23085:78:4" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3598, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3590, - "src": "23182:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_memory_ptr", - "typeString": "struct Exchange.ResultSpace memory" - } - }, - "id": 3599, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "id", - "nodeType": "MemberAccess", - "referencedDeclaration": 1194, - "src": "23182:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3600, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3590, - "src": "23198:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_memory_ptr", - "typeString": "struct Exchange.ResultSpace memory" - } - }, - "id": 3601, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultId", - "nodeType": "MemberAccess", - "referencedDeclaration": 1196, - "src": "23198:20:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3602, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3590, - "src": "23220:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_memory_ptr", - "typeString": "struct Exchange.ResultSpace memory" - } - }, - "id": 3603, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "23220:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_memory", - "typeString": "struct Exchange.Fraction memory" - } - }, - "id": 3604, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1161, - "src": "23220:25:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3605, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3590, - "src": "23247:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_memory_ptr", - "typeString": "struct Exchange.ResultSpace memory" - } - }, - "id": 3606, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "23247:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_memory", - "typeString": "struct Exchange.Fraction memory" - } - }, - "id": 3607, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "cost", - "nodeType": "MemberAccess", - "referencedDeclaration": 1163, - "src": "23247:25:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3608, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3590, - "src": "23282:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_memory_ptr", - "typeString": "struct Exchange.ResultSpace memory" - } - }, - "id": 3609, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "23282:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_memory", - "typeString": "struct Exchange.Fraction memory" - } - }, - "id": 3610, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "odd", - "nodeType": "MemberAccess", - "referencedDeclaration": 1165, - "src": "23282:24:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3611, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3590, - "src": "23308:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_memory_ptr", - "typeString": "struct Exchange.ResultSpace memory" - } - }, - "id": 3612, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "23308:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_memory", - "typeString": "struct Exchange.Fraction memory" - } - }, - "id": 3613, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1167, - "src": "23308:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3614, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3590, - "src": "23337:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_memory_ptr", - "typeString": "struct Exchange.ResultSpace memory" - } - }, - "id": 3615, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "23337:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_memory", - "typeString": "struct Exchange.Fraction memory" - } - }, - "id": 3616, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1169, - "src": "23337:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3617, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3590, - "src": "23366:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_memory_ptr", - "typeString": "struct Exchange.ResultSpace memory" - } - }, - "id": 3618, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "23366:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_memory", - "typeString": "struct Exchange.Fraction memory" - } - }, - "id": 3619, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1177, - "src": "23366:28:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3620, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3590, - "src": "23404:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_memory_ptr", - "typeString": "struct Exchange.ResultSpace memory" - } - }, - "id": 3621, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "23404:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_memory", - "typeString": "struct Exchange.Fraction memory" - } - }, - "id": 3622, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fees", - "nodeType": "MemberAccess", - "referencedDeclaration": 1185, - "src": "23404:25:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3623, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3590, - "src": "23431:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_memory_ptr", - "typeString": "struct Exchange.ResultSpace memory" - } - }, - "id": 3624, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "23431:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_memory", - "typeString": "struct Exchange.Fraction memory" - } - }, - "id": 3625, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liqAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1187, - "src": "23431:30:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3626, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "23181:281:4", - "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": 3588, - "id": 3627, - "nodeType": "Return", - "src": "23174:288:4" - } - ] - }, - "documentation": null, - "functionSelector": "ad5145af", - "id": 3629, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getResultSpaceData", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3567, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3564, - "name": "_eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3629, - "src": "22834:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3563, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22834:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3566, - "name": "resultSpace_id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3629, - "src": "22852:22:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3565, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22852:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22833:42:4" - }, - "returnParameters": { - "id": 3588, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3569, - "name": "_id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3629, - "src": "22906:11:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3568, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22906:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3571, - "name": "_resultId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3629, - "src": "22919:17:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3570, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22919:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3573, - "name": "_pool", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3629, - "src": "22938:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3572, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22938:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3575, - "name": "_cost", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3629, - "src": "22953:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3574, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22953:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3577, - "name": "_odd", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3629, - "src": "22968:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3576, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22968:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3579, - "name": "_amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3629, - "src": "22991:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3578, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22991:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3581, - "name": "_in", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3629, - "src": "23008:11:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3580, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23008:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3583, - "name": "_out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3629, - "src": "23021:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3582, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23021:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3585, - "name": "_fees", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3629, - "src": "23035:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3584, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23035:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3587, - "name": "_liqAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3629, - "src": "23050:18:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3586, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23050:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22896:178:4" - }, - "scope": 3745, - "src": "22806:663:4", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3640, - "nodeType": "Block", - "src": "23590:44:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3635, - "name": "myEvents", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1159, - "src": "23607:8:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 3638, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3636, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "23616:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3637, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "23616:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23607:20:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "functionReturnParameters": 3634, - "id": 3639, - "nodeType": "Return", - "src": "23600:27:4" - } - ] - }, - "documentation": null, - "functionSelector": "3548124b", - "id": 3641, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getMyEvents", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3630, - "nodeType": "ParameterList", - "parameters": [], - "src": "23549:2:4" - }, - "returnParameters": { - "id": 3634, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3633, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3641, - "src": "23573:16:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3631, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23573:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3632, - "length": null, - "nodeType": "ArrayTypeName", - "src": "23573:9:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "23572:18:4" - }, - "scope": 3745, - "src": "23529:105:4", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3714, - "nodeType": "Block", - "src": "23877:537:4", - "statements": [ - { - "assignments": [ - 3659 - ], - "declarations": [ - { - "constant": false, - "id": 3659, - "name": "resultSpace", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3714, - "src": "23907:31:4", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 3658, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1203, - "src": "23907:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3666, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3660, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "23941:6:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1216_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 3662, - "indexExpression": { - "argumentTypes": null, - "id": 3661, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3643, - "src": "23948:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23941:16:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 3663, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1209, - "src": "23941:29:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1203_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 3665, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 3664, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23971:1:4", - "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:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "23907:66:4" - }, - { - "assignments": [ - 3668 - ], - "declarations": [ - { - "constant": false, - "id": 3668, - "name": "resultSpace_opp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3714, - "src": "23983:35:4", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 3667, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1203, - "src": "23983:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3675, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3669, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1154, - "src": "24021:6:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1216_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 3671, - "indexExpression": { - "argumentTypes": null, - "id": 3670, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3643, - "src": "24028:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24021:16:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1216_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 3672, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1209, - "src": "24021:29:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1203_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 3674, - "indexExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 3673, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24051:1:4", - "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:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "23983:70:4" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3676, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3659, - "src": "24085:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3677, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "24085:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3678, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1175, - "src": "24085:35:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3681, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3679, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "24121:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3680, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "24121:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24085:47:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3682, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3659, - "src": "24134:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3683, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "24134:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3684, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1183, - "src": "24134:36:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3687, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3685, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "24171:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3686, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "24171:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24134:48:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3688, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3659, - "src": "24184:11:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3689, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "24184:20:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3690, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1191, - "src": "24184:30:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3693, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3691, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "24215:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3692, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "24215:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24184:42:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3694, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3668, - "src": "24240:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3695, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "24240:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3696, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1175, - "src": "24240:39:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3699, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3697, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "24280:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3698, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "24280:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24240:51:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3700, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3668, - "src": "24293:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3701, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "24293:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3702, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1183, - "src": "24293:40:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3705, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3703, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "24334:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3704, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "24334:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24293:52:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3706, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3668, - "src": "24347:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1203_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3707, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1198, - "src": "24347:24:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1192_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3708, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1191, - "src": "24347:34:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3711, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3709, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "24382:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3710, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "24382:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24347:46:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3712, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "24071:336:4", - "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": 3657, - "id": 3713, - "nodeType": "Return", - "src": "24064:343:4" - } - ] - }, - "documentation": null, - "functionSelector": "21c3c4be", - "id": 3715, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getMyEventHoldings", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3644, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3643, - "name": "_eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3715, - "src": "23785:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3642, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23785:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "23784:18:4" - }, - "returnParameters": { - "id": 3657, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3646, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3715, - "src": "23824:7:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3645, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23824:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3648, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3715, - "src": "23833:7:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3647, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23833:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3650, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3715, - "src": "23842:7:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3649, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23842:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3652, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3715, - "src": "23851:7:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3651, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23851:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3654, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3715, - "src": "23860:7:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3653, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23860:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3656, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3715, - "src": "23869:7:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3655, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23869:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "23823:54:4" - }, - "scope": 3745, - "src": "23757:657:4", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3743, - "nodeType": "Block", - "src": "24506:127:4", - "statements": [ - { - "assignments": [ - 3725 - ], - "declarations": [ - { - "constant": false, - "id": 3725, - "name": "erc20Token", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3743, - "src": "24516:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 3724, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8069, - "src": "24516:5:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3729, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3727, - "name": "_tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3717, - "src": "24541:13:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3726, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8069, - "src": "24535:5:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$8069_$", - "typeString": "type(contract ERC20)" - } - }, - "id": 3728, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24535:20:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "typeString": "contract ERC20" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "24516:39:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3733, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3719, - "src": "24585:3:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3738, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "24619:4:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Exchange_$3745", - "typeString": "contract Exchange" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Exchange_$3745", - "typeString": "contract Exchange" - } - ], - "id": 3737, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "24611:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 3736, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "24611:7:4", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 3739, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24611:13:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 3734, - "name": "erc20Token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3725, - "src": "24590:10:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "typeString": "contract ERC20" - } - }, - "id": 3735, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 7681, - "src": "24590:20:4", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 3740, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24590:35:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3730, - "name": "erc20Token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3725, - "src": "24565:10:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "typeString": "contract ERC20" - } - }, - "id": 3732, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 7701, - "src": "24565:19:4", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 3741, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24565:61:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3742, - "nodeType": "ExpressionStatement", - "src": "24565:61:4" - } - ] - }, - "documentation": null, - "functionSelector": "917c854d", - "id": 3744, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 3722, - "modifierName": { - "argumentTypes": null, - "id": 3721, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7154, - "src": "24496:9:4", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "24496:9:4" - } - ], - "name": "removeOtherERC20Tokens", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3720, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3717, - "name": "_tokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3744, - "src": "24451:21:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3716, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "24451:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3719, - "name": "_to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3744, - "src": "24474:11:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3718, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "24474:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "24450:36:4" - }, - "returnParameters": { - "id": 3723, - "nodeType": "ParameterList", - "parameters": [], - "src": "24506:0:4" - }, - "scope": 3745, - "src": "24419:214:4", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 3746, - "src": "199:24437:4" - } - ], - "src": "33:24603:4" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.20", - "updatedAt": "2021-05-11T16:04:02.430Z", - "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/IERC165.json b/build/contracts/IERC165.json deleted file mode 100644 index 88bc3e89..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": [ - 7244 - ] - }, - "id": 7245, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 7236, - "literals": [ - "solidity", - ">=", - "0.6", - ".0", - "<", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:31:11" - }, - { - "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": 7244, - "linearizedBaseContracts": [ - 7244 - ], - "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": 7243, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "supportsInterface", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7239, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7238, - "name": "interfaceId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7243, - "src": "742:18:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 7237, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "742:6:11", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "741:20:11" - }, - "returnParameters": { - "id": 7242, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7241, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7243, - "src": "785:4:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7240, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "785:4:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "784:6:11" - }, - "scope": 7244, - "src": "715:76:11", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 7245, - "src": "346:447:11" - } - ], - "src": "33:761:11" - }, - "legacyAST": { - "absolutePath": "@openzeppelin/contracts/introspection/IERC165.sol", - "exportedSymbols": { - "IERC165": [ - 7244 - ] - }, - "id": 7245, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 7236, - "literals": [ - "solidity", - ">=", - "0.6", - ".0", - "<", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:31:11" - }, - { - "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": 7244, - "linearizedBaseContracts": [ - 7244 - ], - "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": 7243, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "supportsInterface", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7239, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7238, - "name": "interfaceId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7243, - "src": "742:18:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 7237, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "742:6:11", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "741:20:11" - }, - "returnParameters": { - "id": 7242, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7241, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7243, - "src": "785:4:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7240, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "785:4:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "784:6:11" - }, - "scope": 7244, - "src": "715:76:11", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 7245, - "src": "346:447:11" - } - ], - "src": "33:761:11" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.20", - "updatedAt": "2021-05-11T16:04:02.512Z", - "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 6c0e7fbd..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": [ - 8138 - ] - }, - "id": 8139, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 8071, - "literals": [ - "solidity", - ">=", - "0.6", - ".0", - "<", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:31:14" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": "@dev Interface of the ERC20 standard as defined in the EIP.", - "fullyImplemented": false, - "id": 8138, - "linearizedBaseContracts": [ - 8138 - ], - "name": "IERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": "@dev Returns the amount of tokens in existence.", - "functionSelector": "18160ddd", - "id": 8076, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8072, - "nodeType": "ParameterList", - "parameters": [], - "src": "251:2:14" - }, - "returnParameters": { - "id": 8075, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8074, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8076, - "src": "277:7:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8073, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "277:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "276:9:14" - }, - "scope": 8138, - "src": "231:55:14", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Returns the amount of tokens owned by `account`.", - "functionSelector": "70a08231", - "id": 8083, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8079, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8078, - "name": "account", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8083, - "src": "388:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8077, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "388:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "387:17:14" - }, - "returnParameters": { - "id": 8082, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8081, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8083, - "src": "428:7:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8080, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "428:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "427:9:14" - }, - "scope": 8138, - "src": "369:68:14", - "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": 8092, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8088, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8085, - "name": "recipient", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8092, - "src": "675:17:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8084, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "675:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8087, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8092, - "src": "694:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8086, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "694:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "674:35:14" - }, - "returnParameters": { - "id": 8091, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8090, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8092, - "src": "728:4:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 8089, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "728:4:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "727:6:14" - }, - "scope": 8138, - "src": "657:77:14", - "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": 8101, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8097, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8094, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8101, - "src": "1028:13:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8093, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1028:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8096, - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8101, - "src": "1043:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8095, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1043:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1027:32:14" - }, - "returnParameters": { - "id": 8100, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8099, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8101, - "src": "1083:7:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8098, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1083:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1082:9:14" - }, - "scope": 8138, - "src": "1009:83:14", - "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": 8110, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8106, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8103, - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8110, - "src": "1762:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8102, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1762:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8105, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8110, - "src": "1779:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8104, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1779:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1761:33:14" - }, - "returnParameters": { - "id": 8109, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8108, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8110, - "src": "1813:4:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 8107, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1813:4:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1812:6:14" - }, - "scope": 8138, - "src": "1745:74:14", - "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": 8121, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8117, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8112, - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8121, - "src": "2148:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8111, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2148:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8114, - "name": "recipient", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8121, - "src": "2164:17:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8113, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2164:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8116, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8121, - "src": "2183:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8115, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2183:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2147:51:14" - }, - "returnParameters": { - "id": 8120, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8119, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8121, - "src": "2217:4:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 8118, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2217:4:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2216:6:14" - }, - "scope": 8138, - "src": "2126:97:14", - "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": 8129, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 8128, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8123, - "indexed": true, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8129, - "src": "2407:20:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8122, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2407:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8125, - "indexed": true, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8129, - "src": "2429:18:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8124, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2429:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8127, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8129, - "src": "2449:13:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8126, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2449:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2406:57:14" - }, - "src": "2392:72:14" - }, - { - "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": 8137, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 8136, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8131, - "indexed": true, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8137, - "src": "2638:21:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8130, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2638:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8133, - "indexed": true, - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8137, - "src": "2661:23:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8132, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2661:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8135, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8137, - "src": "2686:13:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8134, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2686:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2637:63:14" - }, - "src": "2623:78:14" - } - ], - "scope": 8139, - "src": "137:2566:14" - } - ], - "src": "33:2671:14" - }, - "legacyAST": { - "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", - "exportedSymbols": { - "IERC20": [ - 8138 - ] - }, - "id": 8139, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 8071, - "literals": [ - "solidity", - ">=", - "0.6", - ".0", - "<", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:31:14" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": "@dev Interface of the ERC20 standard as defined in the EIP.", - "fullyImplemented": false, - "id": 8138, - "linearizedBaseContracts": [ - 8138 - ], - "name": "IERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": "@dev Returns the amount of tokens in existence.", - "functionSelector": "18160ddd", - "id": 8076, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8072, - "nodeType": "ParameterList", - "parameters": [], - "src": "251:2:14" - }, - "returnParameters": { - "id": 8075, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8074, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8076, - "src": "277:7:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8073, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "277:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "276:9:14" - }, - "scope": 8138, - "src": "231:55:14", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Returns the amount of tokens owned by `account`.", - "functionSelector": "70a08231", - "id": 8083, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8079, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8078, - "name": "account", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8083, - "src": "388:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8077, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "388:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "387:17:14" - }, - "returnParameters": { - "id": 8082, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8081, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8083, - "src": "428:7:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8080, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "428:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "427:9:14" - }, - "scope": 8138, - "src": "369:68:14", - "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": 8092, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8088, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8085, - "name": "recipient", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8092, - "src": "675:17:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8084, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "675:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8087, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8092, - "src": "694:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8086, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "694:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "674:35:14" - }, - "returnParameters": { - "id": 8091, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8090, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8092, - "src": "728:4:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 8089, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "728:4:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "727:6:14" - }, - "scope": 8138, - "src": "657:77:14", - "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": 8101, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8097, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8094, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8101, - "src": "1028:13:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8093, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1028:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8096, - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8101, - "src": "1043:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8095, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1043:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1027:32:14" - }, - "returnParameters": { - "id": 8100, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8099, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8101, - "src": "1083:7:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8098, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1083:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1082:9:14" - }, - "scope": 8138, - "src": "1009:83:14", - "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": 8110, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8106, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8103, - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8110, - "src": "1762:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8102, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1762:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8105, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8110, - "src": "1779:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8104, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1779:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1761:33:14" - }, - "returnParameters": { - "id": 8109, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8108, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8110, - "src": "1813:4:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 8107, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1813:4:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1812:6:14" - }, - "scope": 8138, - "src": "1745:74:14", - "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": 8121, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8117, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8112, - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8121, - "src": "2148:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8111, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2148:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8114, - "name": "recipient", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8121, - "src": "2164:17:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8113, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2164:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8116, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8121, - "src": "2183:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8115, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2183:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2147:51:14" - }, - "returnParameters": { - "id": 8120, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8119, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8121, - "src": "2217:4:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 8118, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2217:4:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2216:6:14" - }, - "scope": 8138, - "src": "2126:97:14", - "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": 8129, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 8128, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8123, - "indexed": true, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8129, - "src": "2407:20:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8122, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2407:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8125, - "indexed": true, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8129, - "src": "2429:18:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8124, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2429:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8127, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8129, - "src": "2449:13:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8126, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2449:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2406:57:14" - }, - "src": "2392:72:14" - }, - { - "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": 8137, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 8136, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8131, - "indexed": true, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8137, - "src": "2638:21:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8130, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2638:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8133, - "indexed": true, - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8137, - "src": "2661:23:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8132, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2661:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8135, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8137, - "src": "2686:13:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8134, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2686:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2637:63:14" - }, - "src": "2623:78:14" - } - ], - "scope": 8139, - "src": "137:2566:14" - } - ], - "src": "33:2671:14" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.20", - "updatedAt": "2021-05-11T16:04:02.517Z", - "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 5a63ecf0..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": [ - 9154 - ] - }, - "id": 9155, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 9053, - "literals": [ - "solidity", - ">=", - "0.6", - ".2", - "<", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:31:16" - }, - { - "absolutePath": "@openzeppelin/contracts/introspection/IERC165.sol", - "file": "../../introspection/IERC165.sol", - "id": 9054, - "nodeType": "ImportDirective", - "scope": 9155, - "sourceUnit": 7245, - "src": "66:41:16", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 9055, - "name": "IERC165", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7244, - "src": "198:7:16", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC165_$7244", - "typeString": "contract IERC165" - } - }, - "id": 9056, - "nodeType": "InheritanceSpecifier", - "src": "198:7:16" - } - ], - "contractDependencies": [ - 7244 - ], - "contractKind": "interface", - "documentation": "@dev Required interface of an ERC721 compliant contract.", - "fullyImplemented": false, - "id": 9154, - "linearizedBaseContracts": [ - 9154, - 7244 - ], - "name": "IERC721", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": "@dev Emitted when `tokenId` token is transferred from `from` to `to`.", - "id": 9064, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 9063, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9058, - "indexed": true, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9064, - "src": "320:20:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9057, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "320:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9060, - "indexed": true, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9064, - "src": "342:18:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9059, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "342:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9062, - "indexed": true, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9064, - "src": "362:23:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9061, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "362:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "319:67:16" - }, - "src": "305:82:16" - }, - { - "anonymous": false, - "documentation": "@dev Emitted when `owner` enables `approved` to manage the `tokenId` token.", - "id": 9072, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 9071, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9066, - "indexed": true, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9072, - "src": "507:21:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9065, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "507:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9068, - "indexed": true, - "name": "approved", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9072, - "src": "530:24:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9067, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "530:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9070, - "indexed": true, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9072, - "src": "556:23:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9069, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "556:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "506:74:16" - }, - "src": "492:89:16" - }, - { - "anonymous": false, - "documentation": "@dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.", - "id": 9080, - "name": "ApprovalForAll", - "nodeType": "EventDefinition", - "parameters": { - "id": 9079, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9074, - "indexed": true, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9080, - "src": "730:21:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9073, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "730:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9076, - "indexed": true, - "name": "operator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9080, - "src": "753:24:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9075, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "753:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9078, - "indexed": false, - "name": "approved", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9080, - "src": "779:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9077, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "779:4:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "729:64:16" - }, - "src": "709:85:16" - }, - { - "body": null, - "documentation": "@dev Returns the number of tokens in ``owner``'s account.", - "functionSelector": "70a08231", - "id": 9087, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9083, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9082, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9087, - "src": "900:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9081, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "900:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "899:15:16" - }, - "returnParameters": { - "id": 9086, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9085, - "name": "balance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9087, - "src": "938:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9084, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "938:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "937:17:16" - }, - "scope": 9154, - "src": "881:74:16", - "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": 9094, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "ownerOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9090, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9089, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9094, - "src": "1114:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9088, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1114:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1113:17:16" - }, - "returnParameters": { - "id": 9093, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9092, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9094, - "src": "1154:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9091, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1154:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1153:15:16" - }, - "scope": 9154, - "src": "1097:72:16", - "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": 9103, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "safeTransferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9101, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9096, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9103, - "src": "1896:12:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9095, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1896:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9098, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9103, - "src": "1910:10:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9097, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1910:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9100, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9103, - "src": "1922:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9099, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1922:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1895:43:16" - }, - "returnParameters": { - "id": 9102, - "nodeType": "ParameterList", - "parameters": [], - "src": "1947:0:16" - }, - "scope": 9154, - "src": "1870:78:16", - "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": 9112, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9110, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9105, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9112, - "src": "2485:12:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9104, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2485:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9107, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9112, - "src": "2499:10:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9106, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2499:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9109, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9112, - "src": "2511:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9108, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2511:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2484:43:16" - }, - "returnParameters": { - "id": 9111, - "nodeType": "ParameterList", - "parameters": [], - "src": "2536:0:16" - }, - "scope": 9154, - "src": "2463:74:16", - "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": 9119, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9117, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9114, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9119, - "src": "3017:10:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9113, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3017:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9116, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9119, - "src": "3029:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9115, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3029:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3016:29:16" - }, - "returnParameters": { - "id": 9118, - "nodeType": "ParameterList", - "parameters": [], - "src": "3054:0:16" - }, - "scope": 9154, - "src": "3000:55:16", - "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": 9126, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getApproved", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9122, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9121, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9126, - "src": "3226:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9120, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3226:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3225:17:16" - }, - "returnParameters": { - "id": 9125, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9124, - "name": "operator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9126, - "src": "3266:16:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9123, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3266:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3265:18:16" - }, - "scope": 9154, - "src": "3205:79:16", - "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": 9133, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "setApprovalForAll", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9131, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9128, - "name": "operator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9133, - "src": "3631:16:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9127, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3631:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9130, - "name": "_approved", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9133, - "src": "3649:14:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9129, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3649:4:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3630:34:16" - }, - "returnParameters": { - "id": 9132, - "nodeType": "ParameterList", - "parameters": [], - "src": "3673:0:16" - }, - "scope": 9154, - "src": "3604:70:16", - "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": 9142, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "isApprovedForAll", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9138, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9135, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9142, - "src": "3849:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9134, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3849:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9137, - "name": "operator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9142, - "src": "3864:16:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9136, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3864:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3848:33:16" - }, - "returnParameters": { - "id": 9141, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9140, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9142, - "src": "3905:4:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9139, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3905:4:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3904:6:16" - }, - "scope": 9154, - "src": "3823:88:16", - "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": 9153, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "safeTransferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9151, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9144, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9153, - "src": "4516:12:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9143, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4516:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9146, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9153, - "src": "4530:10:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9145, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4530:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9148, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9153, - "src": "4542:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9147, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4542:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9150, - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9153, - "src": "4559:19:16", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9149, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4559:5:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4515:64:16" - }, - "returnParameters": { - "id": 9152, - "nodeType": "ParameterList", - "parameters": [], - "src": "4588:0:16" - }, - "scope": 9154, - "src": "4490:99:16", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 9155, - "src": "177:4414:16" - } - ], - "src": "33:4559:16" - }, - "legacyAST": { - "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721.sol", - "exportedSymbols": { - "IERC721": [ - 9154 - ] - }, - "id": 9155, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 9053, - "literals": [ - "solidity", - ">=", - "0.6", - ".2", - "<", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:31:16" - }, - { - "absolutePath": "@openzeppelin/contracts/introspection/IERC165.sol", - "file": "../../introspection/IERC165.sol", - "id": 9054, - "nodeType": "ImportDirective", - "scope": 9155, - "sourceUnit": 7245, - "src": "66:41:16", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 9055, - "name": "IERC165", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7244, - "src": "198:7:16", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC165_$7244", - "typeString": "contract IERC165" - } - }, - "id": 9056, - "nodeType": "InheritanceSpecifier", - "src": "198:7:16" - } - ], - "contractDependencies": [ - 7244 - ], - "contractKind": "interface", - "documentation": "@dev Required interface of an ERC721 compliant contract.", - "fullyImplemented": false, - "id": 9154, - "linearizedBaseContracts": [ - 9154, - 7244 - ], - "name": "IERC721", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": "@dev Emitted when `tokenId` token is transferred from `from` to `to`.", - "id": 9064, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 9063, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9058, - "indexed": true, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9064, - "src": "320:20:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9057, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "320:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9060, - "indexed": true, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9064, - "src": "342:18:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9059, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "342:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9062, - "indexed": true, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9064, - "src": "362:23:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9061, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "362:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "319:67:16" - }, - "src": "305:82:16" - }, - { - "anonymous": false, - "documentation": "@dev Emitted when `owner` enables `approved` to manage the `tokenId` token.", - "id": 9072, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 9071, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9066, - "indexed": true, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9072, - "src": "507:21:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9065, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "507:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9068, - "indexed": true, - "name": "approved", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9072, - "src": "530:24:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9067, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "530:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9070, - "indexed": true, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9072, - "src": "556:23:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9069, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "556:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "506:74:16" - }, - "src": "492:89:16" - }, - { - "anonymous": false, - "documentation": "@dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.", - "id": 9080, - "name": "ApprovalForAll", - "nodeType": "EventDefinition", - "parameters": { - "id": 9079, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9074, - "indexed": true, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9080, - "src": "730:21:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9073, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "730:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9076, - "indexed": true, - "name": "operator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9080, - "src": "753:24:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9075, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "753:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9078, - "indexed": false, - "name": "approved", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9080, - "src": "779:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9077, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "779:4:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "729:64:16" - }, - "src": "709:85:16" - }, - { - "body": null, - "documentation": "@dev Returns the number of tokens in ``owner``'s account.", - "functionSelector": "70a08231", - "id": 9087, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9083, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9082, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9087, - "src": "900:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9081, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "900:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "899:15:16" - }, - "returnParameters": { - "id": 9086, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9085, - "name": "balance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9087, - "src": "938:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9084, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "938:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "937:17:16" - }, - "scope": 9154, - "src": "881:74:16", - "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": 9094, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "ownerOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9090, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9089, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9094, - "src": "1114:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9088, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1114:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1113:17:16" - }, - "returnParameters": { - "id": 9093, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9092, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9094, - "src": "1154:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9091, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1154:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1153:15:16" - }, - "scope": 9154, - "src": "1097:72:16", - "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": 9103, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "safeTransferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9101, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9096, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9103, - "src": "1896:12:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9095, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1896:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9098, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9103, - "src": "1910:10:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9097, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1910:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9100, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9103, - "src": "1922:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9099, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1922:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1895:43:16" - }, - "returnParameters": { - "id": 9102, - "nodeType": "ParameterList", - "parameters": [], - "src": "1947:0:16" - }, - "scope": 9154, - "src": "1870:78:16", - "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": 9112, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9110, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9105, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9112, - "src": "2485:12:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9104, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2485:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9107, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9112, - "src": "2499:10:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9106, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2499:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9109, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9112, - "src": "2511:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9108, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2511:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2484:43:16" - }, - "returnParameters": { - "id": 9111, - "nodeType": "ParameterList", - "parameters": [], - "src": "2536:0:16" - }, - "scope": 9154, - "src": "2463:74:16", - "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": 9119, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9117, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9114, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9119, - "src": "3017:10:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9113, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3017:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9116, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9119, - "src": "3029:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9115, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3029:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3016:29:16" - }, - "returnParameters": { - "id": 9118, - "nodeType": "ParameterList", - "parameters": [], - "src": "3054:0:16" - }, - "scope": 9154, - "src": "3000:55:16", - "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": 9126, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getApproved", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9122, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9121, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9126, - "src": "3226:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9120, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3226:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3225:17:16" - }, - "returnParameters": { - "id": 9125, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9124, - "name": "operator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9126, - "src": "3266:16:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9123, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3266:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3265:18:16" - }, - "scope": 9154, - "src": "3205:79:16", - "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": 9133, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "setApprovalForAll", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9131, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9128, - "name": "operator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9133, - "src": "3631:16:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9127, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3631:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9130, - "name": "_approved", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9133, - "src": "3649:14:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9129, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3649:4:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3630:34:16" - }, - "returnParameters": { - "id": 9132, - "nodeType": "ParameterList", - "parameters": [], - "src": "3673:0:16" - }, - "scope": 9154, - "src": "3604:70:16", - "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": 9142, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "isApprovedForAll", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9138, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9135, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9142, - "src": "3849:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9134, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3849:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9137, - "name": "operator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9142, - "src": "3864:16:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9136, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3864:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3848:33:16" - }, - "returnParameters": { - "id": 9141, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9140, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9142, - "src": "3905:4:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9139, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3905:4:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3904:6:16" - }, - "scope": 9154, - "src": "3823:88:16", - "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": 9153, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "safeTransferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9151, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9144, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9153, - "src": "4516:12:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9143, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4516:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9146, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9153, - "src": "4530:10:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9145, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4530:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9148, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9153, - "src": "4542:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9147, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4542:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9150, - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9153, - "src": "4559:19:16", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9149, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4559:5:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4515:64:16" - }, - "returnParameters": { - "id": 9152, - "nodeType": "ParameterList", - "parameters": [], - "src": "4588:0:16" - }, - "scope": 9154, - "src": "4490:99:16", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 9155, - "src": "177:4414:16" - } - ], - "src": "33:4559:16" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.20", - "updatedAt": "2021-05-11T16:04:02.523Z", - "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 dfb146d3..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": [ - 9181 - ] - }, - "id": 9182, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 9156, - "literals": [ - "solidity", - ">=", - "0.6", - ".2", - "<", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:31:17" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721.sol", - "file": "./IERC721.sol", - "id": 9157, - "nodeType": "ImportDirective", - "scope": 9182, - "sourceUnit": 9155, - "src": "66:23:17", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 9158, - "name": "IERC721", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9154, - "src": "259:7:17", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721_$9154", - "typeString": "contract IERC721" - } - }, - "id": 9159, - "nodeType": "InheritanceSpecifier", - "src": "259:7:17" - } - ], - "contractDependencies": [ - 7244, - 9154 - ], - "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": 9181, - "linearizedBaseContracts": [ - 9181, - 9154, - 7244 - ], - "name": "IERC721Enumerable", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": "@dev Returns the total amount of tokens stored by the contract.", - "functionSelector": "18160ddd", - "id": 9164, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9160, - "nodeType": "ParameterList", - "parameters": [], - "src": "381:2:17" - }, - "returnParameters": { - "id": 9163, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9162, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9164, - "src": "407:7:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9161, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "407:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "406:9:17" - }, - "scope": 9181, - "src": "361:55:17", - "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": 9173, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "tokenOfOwnerByIndex", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9169, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9166, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9173, - "src": "627:13:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9165, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "627:7:17", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9168, - "name": "index", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9173, - "src": "642:13:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9167, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "642:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "626:30:17" - }, - "returnParameters": { - "id": 9172, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9171, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9173, - "src": "680:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9170, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "680:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "679:17:17" - }, - "scope": 9181, - "src": "598:99:17", - "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": 9180, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "tokenByIndex", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9176, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9175, - "name": "index", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9180, - "src": "894:13:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9174, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "894:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "893:15:17" - }, - "returnParameters": { - "id": 9179, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9178, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9180, - "src": "932:7:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9177, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "932:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "931:9:17" - }, - "scope": 9181, - "src": "872:69:17", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 9182, - "src": "228:715:17" - } - ], - "src": "33:911:17" - }, - "legacyAST": { - "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721Enumerable.sol", - "exportedSymbols": { - "IERC721Enumerable": [ - 9181 - ] - }, - "id": 9182, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 9156, - "literals": [ - "solidity", - ">=", - "0.6", - ".2", - "<", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:31:17" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721.sol", - "file": "./IERC721.sol", - "id": 9157, - "nodeType": "ImportDirective", - "scope": 9182, - "sourceUnit": 9155, - "src": "66:23:17", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 9158, - "name": "IERC721", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9154, - "src": "259:7:17", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721_$9154", - "typeString": "contract IERC721" - } - }, - "id": 9159, - "nodeType": "InheritanceSpecifier", - "src": "259:7:17" - } - ], - "contractDependencies": [ - 7244, - 9154 - ], - "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": 9181, - "linearizedBaseContracts": [ - 9181, - 9154, - 7244 - ], - "name": "IERC721Enumerable", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": "@dev Returns the total amount of tokens stored by the contract.", - "functionSelector": "18160ddd", - "id": 9164, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9160, - "nodeType": "ParameterList", - "parameters": [], - "src": "381:2:17" - }, - "returnParameters": { - "id": 9163, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9162, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9164, - "src": "407:7:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9161, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "407:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "406:9:17" - }, - "scope": 9181, - "src": "361:55:17", - "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": 9173, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "tokenOfOwnerByIndex", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9169, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9166, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9173, - "src": "627:13:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9165, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "627:7:17", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9168, - "name": "index", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9173, - "src": "642:13:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9167, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "642:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "626:30:17" - }, - "returnParameters": { - "id": 9172, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9171, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9173, - "src": "680:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9170, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "680:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "679:17:17" - }, - "scope": 9181, - "src": "598:99:17", - "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": 9180, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "tokenByIndex", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9176, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9175, - "name": "index", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9180, - "src": "894:13:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9174, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "894:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "893:15:17" - }, - "returnParameters": { - "id": 9179, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9178, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9180, - "src": "932:7:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9177, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "932:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "931:9:17" - }, - "scope": 9181, - "src": "872:69:17", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 9182, - "src": "228:715:17" - } - ], - "src": "33:911:17" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.20", - "updatedAt": "2021-05-11T16:04:02.524Z", - "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 40aa780c..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": [ - 9204 - ] - }, - "id": 9205, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 9183, - "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": 9184, - "nodeType": "ImportDirective", - "scope": 9205, - "sourceUnit": 9155, - "src": "66:23:18", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 9185, - "name": "IERC721", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9154, - "src": "254:7:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721_$9154", - "typeString": "contract IERC721" - } - }, - "id": 9186, - "nodeType": "InheritanceSpecifier", - "src": "254:7:18" - } - ], - "contractDependencies": [ - 7244, - 9154 - ], - "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": 9204, - "linearizedBaseContracts": [ - 9204, - 9154, - 7244 - ], - "name": "IERC721Metadata", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": "@dev Returns the token collection name.", - "functionSelector": "06fdde03", - "id": 9191, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9187, - "nodeType": "ParameterList", - "parameters": [], - "src": "345:2:18" - }, - "returnParameters": { - "id": 9190, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9189, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9191, - "src": "371:13:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 9188, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "371:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "370:15:18" - }, - "scope": 9204, - "src": "332:54:18", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Returns the token collection symbol.", - "functionSelector": "95d89b41", - "id": 9196, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9192, - "nodeType": "ParameterList", - "parameters": [], - "src": "472:2:18" - }, - "returnParameters": { - "id": 9195, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9194, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9196, - "src": "498:13:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 9193, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "498:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "497:15:18" - }, - "scope": 9204, - "src": "457:56:18", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Returns the Uniform Resource Identifier (URI) for `tokenId` token.", - "functionSelector": "c87b56dd", - "id": 9203, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "tokenURI", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9199, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9198, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9203, - "src": "632:15:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9197, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "632:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "631:17:18" - }, - "returnParameters": { - "id": 9202, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9201, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9203, - "src": "672:13:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 9200, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "672:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "671:15:18" - }, - "scope": 9204, - "src": "614:73:18", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 9205, - "src": "225:464:18" - } - ], - "src": "33:657:18" - }, - "legacyAST": { - "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721Metadata.sol", - "exportedSymbols": { - "IERC721Metadata": [ - 9204 - ] - }, - "id": 9205, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 9183, - "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": 9184, - "nodeType": "ImportDirective", - "scope": 9205, - "sourceUnit": 9155, - "src": "66:23:18", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 9185, - "name": "IERC721", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9154, - "src": "254:7:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721_$9154", - "typeString": "contract IERC721" - } - }, - "id": 9186, - "nodeType": "InheritanceSpecifier", - "src": "254:7:18" - } - ], - "contractDependencies": [ - 7244, - 9154 - ], - "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": 9204, - "linearizedBaseContracts": [ - 9204, - 9154, - 7244 - ], - "name": "IERC721Metadata", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": "@dev Returns the token collection name.", - "functionSelector": "06fdde03", - "id": 9191, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9187, - "nodeType": "ParameterList", - "parameters": [], - "src": "345:2:18" - }, - "returnParameters": { - "id": 9190, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9189, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9191, - "src": "371:13:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 9188, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "371:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "370:15:18" - }, - "scope": 9204, - "src": "332:54:18", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Returns the token collection symbol.", - "functionSelector": "95d89b41", - "id": 9196, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9192, - "nodeType": "ParameterList", - "parameters": [], - "src": "472:2:18" - }, - "returnParameters": { - "id": 9195, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9194, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9196, - "src": "498:13:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 9193, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "498:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "497:15:18" - }, - "scope": 9204, - "src": "457:56:18", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Returns the Uniform Resource Identifier (URI) for `tokenId` token.", - "functionSelector": "c87b56dd", - "id": 9203, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "tokenURI", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9199, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9198, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9203, - "src": "632:15:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9197, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "632:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "631:17:18" - }, - "returnParameters": { - "id": 9202, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9201, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9203, - "src": "672:13:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 9200, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "672:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "671:15:18" - }, - "scope": 9204, - "src": "614:73:18", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 9205, - "src": "225:464:18" - } - ], - "src": "33:657:18" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.20", - "updatedAt": "2021-05-11T16:04:02.524Z", - "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 773376a5..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": [ - 9220 - ] - }, - "id": 9221, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 9206, - "literals": [ - "solidity", - ">=", - "0.6", - ".0", - "<", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:31:19" - }, - { - "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": 9220, - "linearizedBaseContracts": [ - 9220 - ], - "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": 9219, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "onERC721Received", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9215, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9208, - "name": "operator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9219, - "src": "767:16:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9207, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "767:7:19", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9210, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9219, - "src": "785:12:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9209, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "785:7:19", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9212, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9219, - "src": "799:15:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9211, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "799:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9214, - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9219, - "src": "816:19:19", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9213, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "816:5:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "766:70:19" - }, - "returnParameters": { - "id": 9218, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9217, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9219, - "src": "855:6:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 9216, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "855:6:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "854:8:19" - }, - "scope": 9220, - "src": "741:122:19", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 9221, - "src": "219:646:19" - } - ], - "src": "33:833:19" - }, - "legacyAST": { - "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol", - "exportedSymbols": { - "IERC721Receiver": [ - 9220 - ] - }, - "id": 9221, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 9206, - "literals": [ - "solidity", - ">=", - "0.6", - ".0", - "<", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:31:19" - }, - { - "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": 9220, - "linearizedBaseContracts": [ - 9220 - ], - "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": 9219, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "onERC721Received", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9215, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9208, - "name": "operator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9219, - "src": "767:16:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9207, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "767:7:19", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9210, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9219, - "src": "785:12:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9209, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "785:7:19", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9212, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9219, - "src": "799:15:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9211, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "799:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9214, - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9219, - "src": "816:19:19", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9213, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "816:5:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "766:70:19" - }, - "returnParameters": { - "id": 9218, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9217, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9219, - "src": "855:6:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 9216, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "855:6:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "854:8:19" - }, - "scope": 9220, - "src": "741:122:19", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 9221, - "src": "219:646:19" - } - ], - "src": "33:833:19" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.20", - "updatedAt": "2021-05-11T16:04:02.524Z", - "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/Migrations.json b/build/contracts/Migrations.json deleted file mode 100644 index a7c4a981..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:5:-:0;;;113:47;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;138:5:5;:18;;-1:-1:-1;;;;;;138:18:5;146:10;138:18;;;26:464;;;;;;", - "deployedSourceMap": "26:464:5:-:0;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;26:464:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;328:160;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;328:160:5;-1:-1:-1;;;;;328:160:5;;:::i;:::-;;72:36;;;:::i;:::-;;;;;;;;;;;;;;;;49:20;;;:::i;:::-;;;;-1:-1:-1;;;;;49:20:5;;;;;;;;;;;;;;224:100;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;224:100:5;;:::i;328:160::-;208:5;;-1:-1:-1;;;;;208:5:5;194:10;:19;190:26;;;388:19:::1;421:11;388:45;;437:8;-1:-1:-1::0;;;;;437:21:5::1;;459:24;;437:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;437:47:5;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;437:47:5;;;;215:1;190:26:::0;328:160;:::o;72:36::-;;;;:::o;49:20::-;;;-1:-1:-1;;;;;49:20:5;;:::o;224:100::-;208:5;;-1:-1:-1;;;;;208:5:5;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": [ - 3802 - ] - }, - "id": 3803, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 3747, - "literals": [ - "solidity", - ">=", - "0.6", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:24:5" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 3802, - "linearizedBaseContracts": [ - 3802 - ], - "name": "Migrations", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "8da5cb5b", - "id": 3749, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3802, - "src": "49:20:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3748, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "49:7:5", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "445df0ac", - "id": 3751, - "name": "last_completed_migration", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3802, - "src": "72:36:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3750, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "72:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 3759, - "nodeType": "Block", - "src": "134:26:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3757, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3754, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3749, - "src": "138:5:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3755, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "146:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3756, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "146:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "138:18:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3758, - "nodeType": "ExpressionStatement", - "src": "138:18:5" - } - ] - }, - "documentation": null, - "id": 3760, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3752, - "nodeType": "ParameterList", - "parameters": [], - "src": "124:2:5" - }, - "returnParameters": { - "id": 3753, - "nodeType": "ParameterList", - "parameters": [], - "src": "134:0:5" - }, - "scope": 3802, - "src": "113:47:5", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3768, - "nodeType": "Block", - "src": "186:34:5", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3765, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3762, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "194:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3763, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "194:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 3764, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3749, - "src": "208:5:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "194:19:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 3767, - "nodeType": "IfStatement", - "src": "190:26:5", - "trueBody": { - "id": 3766, - "nodeType": "PlaceholderStatement", - "src": "215:1:5" - } - } - ] - }, - "documentation": null, - "id": 3769, - "name": "restricted", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 3761, - "nodeType": "ParameterList", - "parameters": [], - "src": "183:2:5" - }, - "src": "164:56:5", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 3780, - "nodeType": "Block", - "src": "280:44:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3778, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3776, - "name": "last_completed_migration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3751, - "src": "284:24:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3777, - "name": "completed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3771, - "src": "311:9:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "284:36:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3779, - "nodeType": "ExpressionStatement", - "src": "284:36:5" - } - ] - }, - "documentation": null, - "functionSelector": "fdacd576", - "id": 3781, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 3774, - "modifierName": { - "argumentTypes": null, - "id": 3773, - "name": "restricted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3769, - "src": "269:10:5", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "269:10:5" - } - ], - "name": "setCompleted", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3772, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3771, - "name": "completed", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3781, - "src": "246:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3770, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "246:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "245:16:5" - }, - "returnParameters": { - "id": 3775, - "nodeType": "ParameterList", - "parameters": [], - "src": "280:0:5" - }, - "scope": 3802, - "src": "224:100:5", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3800, - "nodeType": "Block", - "src": "384:104:5", - "statements": [ - { - "assignments": [ - 3789 - ], - "declarations": [ - { - "constant": false, - "id": 3789, - "name": "upgraded", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3800, - "src": "388:19:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Migrations_$3802", - "typeString": "contract Migrations" - }, - "typeName": { - "contractScope": null, - "id": 3788, - "name": "Migrations", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3802, - "src": "388:10:5", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Migrations_$3802", - "typeString": "contract Migrations" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3793, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3791, - "name": "new_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3783, - "src": "421:11:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3790, - "name": "Migrations", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3802, - "src": "410:10:5", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Migrations_$3802_$", - "typeString": "type(contract Migrations)" - } - }, - "id": 3792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "410:23:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_Migrations_$3802", - "typeString": "contract Migrations" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "388:45:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3797, - "name": "last_completed_migration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3751, - "src": "459:24:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3794, - "name": "upgraded", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3789, - "src": "437:8:5", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Migrations_$3802", - "typeString": "contract Migrations" - } - }, - "id": 3796, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setCompleted", - "nodeType": "MemberAccess", - "referencedDeclaration": 3781, - "src": "437:21:5", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256) external" - } - }, - "id": 3798, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "437:47:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3799, - "nodeType": "ExpressionStatement", - "src": "437:47:5" - } - ] - }, - "documentation": null, - "functionSelector": "0900f010", - "id": 3801, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 3786, - "modifierName": { - "argumentTypes": null, - "id": 3785, - "name": "restricted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3769, - "src": "373:10:5", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "373:10:5" - } - ], - "name": "upgrade", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3784, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3783, - "name": "new_address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3801, - "src": "345:19:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3782, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "345:7:5", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "344:21:5" - }, - "returnParameters": { - "id": 3787, - "nodeType": "ParameterList", - "parameters": [], - "src": "384:0:5" - }, - "scope": 3802, - "src": "328:160:5", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - } - ], - "scope": 3803, - "src": "26:464:5" - } - ], - "src": "0:491:5" - }, - "legacyAST": { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/Migrations.sol", - "exportedSymbols": { - "Migrations": [ - 3802 - ] - }, - "id": 3803, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 3747, - "literals": [ - "solidity", - ">=", - "0.6", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:24:5" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 3802, - "linearizedBaseContracts": [ - 3802 - ], - "name": "Migrations", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "8da5cb5b", - "id": 3749, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3802, - "src": "49:20:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3748, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "49:7:5", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "445df0ac", - "id": 3751, - "name": "last_completed_migration", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3802, - "src": "72:36:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3750, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "72:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 3759, - "nodeType": "Block", - "src": "134:26:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3757, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3754, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3749, - "src": "138:5:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3755, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "146:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3756, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "146:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "138:18:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3758, - "nodeType": "ExpressionStatement", - "src": "138:18:5" - } - ] - }, - "documentation": null, - "id": 3760, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3752, - "nodeType": "ParameterList", - "parameters": [], - "src": "124:2:5" - }, - "returnParameters": { - "id": 3753, - "nodeType": "ParameterList", - "parameters": [], - "src": "134:0:5" - }, - "scope": 3802, - "src": "113:47:5", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3768, - "nodeType": "Block", - "src": "186:34:5", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3765, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3762, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "194:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3763, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "194:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 3764, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3749, - "src": "208:5:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "194:19:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 3767, - "nodeType": "IfStatement", - "src": "190:26:5", - "trueBody": { - "id": 3766, - "nodeType": "PlaceholderStatement", - "src": "215:1:5" - } - } - ] - }, - "documentation": null, - "id": 3769, - "name": "restricted", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 3761, - "nodeType": "ParameterList", - "parameters": [], - "src": "183:2:5" - }, - "src": "164:56:5", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 3780, - "nodeType": "Block", - "src": "280:44:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3778, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3776, - "name": "last_completed_migration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3751, - "src": "284:24:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3777, - "name": "completed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3771, - "src": "311:9:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "284:36:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3779, - "nodeType": "ExpressionStatement", - "src": "284:36:5" - } - ] - }, - "documentation": null, - "functionSelector": "fdacd576", - "id": 3781, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 3774, - "modifierName": { - "argumentTypes": null, - "id": 3773, - "name": "restricted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3769, - "src": "269:10:5", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "269:10:5" - } - ], - "name": "setCompleted", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3772, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3771, - "name": "completed", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3781, - "src": "246:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3770, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "246:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "245:16:5" - }, - "returnParameters": { - "id": 3775, - "nodeType": "ParameterList", - "parameters": [], - "src": "280:0:5" - }, - "scope": 3802, - "src": "224:100:5", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3800, - "nodeType": "Block", - "src": "384:104:5", - "statements": [ - { - "assignments": [ - 3789 - ], - "declarations": [ - { - "constant": false, - "id": 3789, - "name": "upgraded", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3800, - "src": "388:19:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Migrations_$3802", - "typeString": "contract Migrations" - }, - "typeName": { - "contractScope": null, - "id": 3788, - "name": "Migrations", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3802, - "src": "388:10:5", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Migrations_$3802", - "typeString": "contract Migrations" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3793, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3791, - "name": "new_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3783, - "src": "421:11:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3790, - "name": "Migrations", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3802, - "src": "410:10:5", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Migrations_$3802_$", - "typeString": "type(contract Migrations)" - } - }, - "id": 3792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "410:23:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_Migrations_$3802", - "typeString": "contract Migrations" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "388:45:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3797, - "name": "last_completed_migration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3751, - "src": "459:24:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3794, - "name": "upgraded", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3789, - "src": "437:8:5", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Migrations_$3802", - "typeString": "contract Migrations" - } - }, - "id": 3796, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setCompleted", - "nodeType": "MemberAccess", - "referencedDeclaration": 3781, - "src": "437:21:5", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256) external" - } - }, - "id": 3798, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "437:47:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3799, - "nodeType": "ExpressionStatement", - "src": "437:47:5" - } - ] - }, - "documentation": null, - "functionSelector": "0900f010", - "id": 3801, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 3786, - "modifierName": { - "argumentTypes": null, - "id": 3785, - "name": "restricted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3769, - "src": "373:10:5", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "373:10:5" - } - ], - "name": "upgrade", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3784, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3783, - "name": "new_address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3801, - "src": "345:19:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3782, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "345:7:5", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "344:21:5" - }, - "returnParameters": { - "id": 3787, - "nodeType": "ParameterList", - "parameters": [], - "src": "384:0:5" - }, - "scope": 3802, - "src": "328:160:5", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - } - ], - "scope": 3803, - "src": "26:464:5" - } - ], - "src": "0:491:5" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": { - "1620749220322": { - "events": {}, - "links": {}, - "address": "0xadb8ffc75b9e45748A33083180E581D23952b144", - "transactionHash": "0xd02a68e96932f99972156fc3a0e67e6c56525e65faef3f3c110b9bcc73e4ab75" - }, - "1621011201958": { - "events": {}, - "links": {}, - "address": "0xBb882c388653cc4B2f0b878aFf73d42845a8496f", - "transactionHash": "0xb0a880c522af614c8167b0cd5ebbe9e6e4ba08064c2335667c537e091cb51630" - }, - "1621543257950": { - "events": {}, - "links": {}, - "address": "0xf9FF0CdE8fafd7f91eE99b9556Fc983b29852Dde", - "transactionHash": "0x8877b5a7383c6f8188166fb3af52375c62ba0b97a7a8c5177797caeee2c2b2c5" - } - }, - "schemaVersion": "3.0.20", - "updatedAt": "2021-05-20T20:41:13.061Z", - "networkType": "ethereum", - "devdoc": { - "methods": {} - }, - "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 52c22979..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:9;:18;;516:10;-1:-1:-1;;;;;;508:18:9;;;;;;;-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:9:-;;;:::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:9:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;864:188:9;-1:-1:-1;;;;;864:188:9;;:::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:9;;-1:-1:-1;;;;;672:5:9;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:9;;-1:-1:-1;;;;;672:5:9;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:9;;-1:-1:-1;;;;;672:5:9;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:9:-;;;-1:-1:-1;;;;;239:20:9;;:::o;304:30:3:-;;;-1:-1:-1;;;;;304:30:3;;:::o;3671:101::-;672:5:9;;-1:-1:-1;;;;;672:5:9;658:10;:19;650:28;;;;;;3741:13:3::1;:24:::0;3671:101::o;4070:67::-;672:5:9;;-1:-1:-1;;;;;672:5:9;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:9:-;672:5;;-1:-1:-1;;;;;672:5:9;658:10;:19;650:28;;;;;;-1:-1:-1;;;;;944:22:9;::::1;936:31;;;::::0;::::1;;1003:5;::::0;;982:37:::1;::::0;-1:-1:-1;;;;;982:37:9;;::::1;::::0;1003:5;::::1;::::0;982:37:::1;::::0;::::1;1029:5;:16:::0;;-1:-1:-1;;;;;;1029:16:9::1;-1:-1:-1::0;;;;;1029:16:9;;;::::1;::::0;;;::::1;::::0;;864:188::o;3885:109:3:-;672:5:9;;-1:-1:-1;;;;;672:5:9;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:9;;-1:-1:-1;;;;;672:5:9;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": 9052, - "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": 8070, - "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": 7182, - "src": "173:29:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 498, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7181, - "src": "224:7:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$7181", - "typeString": "contract Ownable" - } - }, - "id": 499, - "nodeType": "InheritanceSpecifier", - "src": "224:7:3" - } - ], - "contractDependencies": [ - 7181 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 894, - "linearizedBaseContracts": [ - 894, - 7181 - ], - "name": "Opener", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 502, - "libraryName": { - "contractScope": null, - "id": 500, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7585, - "src": "244:8:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$7585", - "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_$8069", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 503, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8069, - "src": "271:5:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "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_$8069", - "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_$8069", - "typeString": "contract ERC20" - } - }, - "src": "1354:30:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "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_$8069", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 567, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8069, - "src": "1190:5:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "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": 7473, - "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_$8069", - "typeString": "contract ERC20" - } - }, - "id": 629, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "allowance", - "nodeType": "MemberAccess", - "referencedDeclaration": 7718, - "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": 7419, - "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": 7419, - "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_$8069", - "typeString": "contract ERC20" - } - }, - "id": 736, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 7775, - "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_$8069", - "typeString": "contract ERC20" - } - }, - "id": 758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 7775, - "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_$8069", - "typeString": "contract ERC20" - } - }, - "id": 782, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 7775, - "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": 7154, - "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_$8069", - "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_$8069", - "typeString": "contract ERC20" - } - }, - "src": "3628:30:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "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": 7154, - "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_$8069", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 826, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8069, - "src": "3580:5:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "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": 7154, - "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": 7154, - "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": 7154, - "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": 7154, - "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": 7154, - "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": 9051, - "src": "4273:6:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721_$9051", - "typeString": "contract ERC721" - } - }, - "id": 896, - "nodeType": "InheritanceSpecifier", - "src": "4273:6:3" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 897, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7181, - "src": "4281:7:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$7181", - "typeString": "contract Ownable" - } - }, - "id": 898, - "nodeType": "InheritanceSpecifier", - "src": "4281:7:3" - } - ], - "contractDependencies": [ - 7181, - 7234, - 7244, - 9051, - 9154, - 9181, - 9204, - 9528 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 983, - "linearizedBaseContracts": [ - 983, - 7181, - 9051, - 9181, - 9204, - 9154, - 7234, - 7244, - 9528 - ], - "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": 9051, - "src": "4358:6:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$9051_$", - "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": 8649, - "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": 8950, - "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": 7154, - "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": 8960, - "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": 7154, - "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": [ - 8704, - 8732 - ], - "referencedDeclaration": 8704, - "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": 7154, - "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": [ - 8704, - 8732 - ], - "referencedDeclaration": 8732, - "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": 7154, - "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": 9051, - "src": "5164:6:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721_$9051", - "typeString": "contract ERC721" - } - }, - "id": 987, - "nodeType": "InheritanceSpecifier", - "src": "5164:6:3" - } - ], - "contractDependencies": [ - 894, - 7181, - 7234, - 7244, - 9051, - 9154, - 9181, - 9204, - 9528 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 1122, - "linearizedBaseContracts": [ - 1122, - 9051, - 9181, - 9204, - 9154, - 7234, - 7244, - 9528, - 894, - 7181 - ], - "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": 9051, - "src": "5400:6:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$9051_$", - "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_$8069", - "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_$8069", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 994, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8069, - "src": "5281:5:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "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": 8649, - "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": 8950, - "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": 7154, - "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": 8960, - "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": 7154, - "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": [ - 8704, - 8732 - ], - "referencedDeclaration": 8704, - "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": 9052, - "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": 8070, - "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": 7182, - "src": "173:29:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 498, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7181, - "src": "224:7:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$7181", - "typeString": "contract Ownable" - } - }, - "id": 499, - "nodeType": "InheritanceSpecifier", - "src": "224:7:3" - } - ], - "contractDependencies": [ - 7181 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 894, - "linearizedBaseContracts": [ - 894, - 7181 - ], - "name": "Opener", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 502, - "libraryName": { - "contractScope": null, - "id": 500, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7585, - "src": "244:8:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$7585", - "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_$8069", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 503, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8069, - "src": "271:5:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "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_$8069", - "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_$8069", - "typeString": "contract ERC20" - } - }, - "src": "1354:30:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "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_$8069", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 567, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8069, - "src": "1190:5:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "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": 7473, - "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_$8069", - "typeString": "contract ERC20" - } - }, - "id": 629, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "allowance", - "nodeType": "MemberAccess", - "referencedDeclaration": 7718, - "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": 7419, - "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": 7419, - "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_$8069", - "typeString": "contract ERC20" - } - }, - "id": 736, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 7775, - "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_$8069", - "typeString": "contract ERC20" - } - }, - "id": 758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 7775, - "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_$8069", - "typeString": "contract ERC20" - } - }, - "id": 782, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 7775, - "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": 7154, - "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_$8069", - "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_$8069", - "typeString": "contract ERC20" - } - }, - "src": "3628:30:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "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": 7154, - "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_$8069", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 826, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8069, - "src": "3580:5:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "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": 7154, - "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": 7154, - "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": 7154, - "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": 7154, - "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": 7154, - "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": 9051, - "src": "4273:6:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721_$9051", - "typeString": "contract ERC721" - } - }, - "id": 896, - "nodeType": "InheritanceSpecifier", - "src": "4273:6:3" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 897, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7181, - "src": "4281:7:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$7181", - "typeString": "contract Ownable" - } - }, - "id": 898, - "nodeType": "InheritanceSpecifier", - "src": "4281:7:3" - } - ], - "contractDependencies": [ - 7181, - 7234, - 7244, - 9051, - 9154, - 9181, - 9204, - 9528 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 983, - "linearizedBaseContracts": [ - 983, - 7181, - 9051, - 9181, - 9204, - 9154, - 7234, - 7244, - 9528 - ], - "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": 9051, - "src": "4358:6:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$9051_$", - "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": 8649, - "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": 8950, - "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": 7154, - "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": 8960, - "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": 7154, - "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": [ - 8704, - 8732 - ], - "referencedDeclaration": 8704, - "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": 7154, - "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": [ - 8704, - 8732 - ], - "referencedDeclaration": 8732, - "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": 7154, - "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": 9051, - "src": "5164:6:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721_$9051", - "typeString": "contract ERC721" - } - }, - "id": 987, - "nodeType": "InheritanceSpecifier", - "src": "5164:6:3" - } - ], - "contractDependencies": [ - 894, - 7181, - 7234, - 7244, - 9051, - 9154, - 9181, - 9204, - 9528 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 1122, - "linearizedBaseContracts": [ - 1122, - 9051, - 9181, - 9204, - 9154, - 7234, - 7244, - 9528, - 894, - 7181 - ], - "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": 9051, - "src": "5400:6:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$9051_$", - "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_$8069", - "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_$8069", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 994, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8069, - "src": "5281:5:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "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": 8649, - "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": 8950, - "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": 7154, - "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": 8960, - "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": 7154, - "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": [ - 8704, - 8732 - ], - "referencedDeclaration": 8704, - "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-05-11T16:04:02.423Z", - "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 ac1e935f..00000000 --- a/build/contracts/OpenerRealFvr.json +++ /dev/null @@ -1,22742 +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": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "packId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "nftsAmount", - "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": "packNumber", - "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": "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": "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[]" - } - ], - "stateMutability": "nonpayable", - "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": "packNumber", - "type": "uint256" - }, - { - "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[]" - } - ], - "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\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"packId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nftsAmount\",\"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\":\"packNumber\",\"type\":\"uint256\"},{\"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[]\"}],\"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\":\"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\":\"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[]\"}],\"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\":[],\"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\":\"packNumber\",\"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\":\"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\":\"0x050a9ffac0f51354f62a8fa2331f1128fe75e1c12b7ce5b5b274e52b16492a02\",\"urls\":[\"bzz-raw://877cb7d532a8bb3361104d7aff0539c700112191a52b64661893fe0aa3e98b7b\",\"dweb:/ipfs/QmUTtbyx2bRJi72XGYXBdNVMbBRCc3uB83gsatSfS6udLy\"]},\"/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": "0x608060405260006010819055601181905560128190556013805460ff191690556014553480156200002f57600080fd5b5060405162004cd338038062004cd3833981810160405260608110156200005557600080fd5b81019080805160405193929190846401000000008211156200007657600080fd5b9083019060208201858111156200008c57600080fd5b8251640100000000811182820188101715620000a757600080fd5b82525081516020918201929091019080838360005b83811015620000d6578181015183820152602001620000bc565b50505050905090810190601f168015620001045780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200012857600080fd5b9083019060208201858111156200013e57600080fd5b82516401000000008111828201881017156200015957600080fd5b82525081516020918201929091019080838360005b83811015620001885781810151838201526020016200016e565b50505050905090810190601f168015620001b65780820380516001836020036101000a031916815260200191505b5060405260200151600080546001600160a01b03191633179055915083905082620001f16301ffc9a760e01b6001600160e01b036200027916565b81516200020690600790602085019062000301565b5080516200021c90600890602084019062000301565b50620002386380ac58cd60e01b6001600160e01b036200027916565b62000253635b5e139f60e01b6001600160e01b036200027916565b6200026e63780e9d6360e01b6001600160e01b036200027916565b5050505050620003a6565b6001600160e01b03198082161415620002d9576040805162461bcd60e51b815260206004820152601c60248201527f4552433136353a20696e76616c696420696e7465726661636520696400000000604482015290519081900360640190fd5b6001600160e01b0319166000908152600160208190526040909120805460ff19169091179055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200034457805160ff191683800117855562000374565b8280016001018555821562000374579182015b828111156200037457825182559160200191906001019062000357565b506200038292915062000386565b5090565b620003a391905b808211156200038257600081556001016200038d565b90565b61491d80620003b66000396000f3fe608060405234801561001057600080fd5b506004361061027f5760003560e01c806369c7d8a31161015c578063b84c1392116100ce578063e985e9c511610087578063e985e9c514611147578063eb8800d014611175578063ec6923a11461117d578063ec90a293146111a9578063f2fde38b146111c6578063f83d08ba146111ec5761027f565b8063b84c139214610e95578063b88d4fde14611039578063c87b56dd146110fd578063dc45bfb31461111a578063dd7c5e5414611137578063e64165031461113f5761027f565b80638da5cb5b116101205780638da5cb5b14610e1557806395d89b4114610e1d578063a0712d6814610e25578063a22cb46514610e42578063a69df4b514610e70578063b7365f1f14610e785761027f565b806369c7d8a314610dba5780636c0360eb14610dc25780636fcbc6ed14610dca57806370a0823114610dd257806384a5027014610df85761027f565b806323b872dd116101f557806342842e0e116101b957806342842e0e14610c6c5780634f558e7914610ca25780634f6ccce714610cbf57806355f804b314610cdc5780635eeb57c014610d805780636352211e14610d9d5761027f565b806323b872dd146109b2578063298489d2146109e85780632c68603014610a0e5780632f745c5914610a845780633a307f6114610ab05761027f565b806315424e6e1161024757806315424e6e146103e1578063162094c4146105fd57806318160ddd146106a85780631a27a338146106b05780631e14a5331461097e5780631eae8636146109aa5761027f565b806301d243a61461028457806301ffc9a7146102c257806306fdde03146102fd578063081812fc1461037a578063095ea7b3146103b3575b600080fd5b6102b06004803603604081101561029a57600080fd5b506001600160a01b0381351690602001356111f4565b60408051918252519081900360200190f35b6102e9600480360360208110156102d857600080fd5b50356001600160e01b031916611222565b604080519115158252519081900360200190f35b610305611245565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561033f578181015183820152602001610327565b50505050905090810190601f16801561036c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103976004803603602081101561039057600080fd5b50356112dc565b604080516001600160a01b039092168252519081900360200190f35b6103df600480360360408110156103c957600080fd5b506001600160a01b03813516906020013561133e565b005b6103fe600480360360208110156103f757600080fd5b5035611419565b604051808b81526020018a8152602001898152602001888152602001806020018060200180602001876001600160a01b03166001600160a01b03168152602001806020018060200186810386528c818151815260200191508051906020019080838360005b8381101561047b578181015183820152602001610463565b50505050905090810190601f1680156104a85780820380516001836020036101000a031916815260200191505b5086810385528b5181528b516020918201918d019080838360005b838110156104db5781810151838201526020016104c3565b50505050905090810190601f1680156105085780820380516001836020036101000a031916815260200191505b5086810384528a5181528a516020918201918c019080838360005b8381101561053b578181015183820152602001610523565b50505050905090810190601f1680156105685780820380516001836020036101000a031916815260200191505b508681038352885181528851602091820191808b01910280838360005b8381101561059d578181015183820152602001610585565b50505050905001868103825287818151815260200191508051906020019060200280838360005b838110156105dc5781810151838201526020016105c4565b505050509050019f5050505050505050505050505050505060405180910390f35b6103df6004803603604081101561061357600080fd5b81359190810190604081016020820135600160201b81111561063457600080fd5b82018360208201111561064657600080fd5b803590602001918460018302840111600160201b8311171561066757600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506117c0945050505050565b6102b06117e5565b6103df60048036036101208110156106c757600080fd5b81359160208101359160408201359190810190608081016060820135600160201b8111156106f457600080fd5b82018360208201111561070657600080fd5b803590602001918460018302840111600160201b8311171561072757600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b81111561077957600080fd5b82018360208201111561078b57600080fd5b803590602001918460018302840111600160201b831117156107ac57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156107fe57600080fd5b82018360208201111561081057600080fd5b803590602001918460018302840111600160201b8311171561083157600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092958435959094909350604081019250602001359050600160201b81111561088b57600080fd5b82018360208201111561089d57600080fd5b803590602001918460208302840111600160201b831117156108be57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b81111561090d57600080fd5b82018360208201111561091f57600080fd5b803590602001918460208302840111600160201b8311171561094057600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506117f6945050505050565b6102e96004803603604081101561099457600080fd5b506001600160a01b038135169060200135611d70565b6102b0611d90565b6103df600480360360608110156109c857600080fd5b506001600160a01b03813581169160208101359091169060400135611d96565b6103df600480360360208110156109fe57600080fd5b50356001600160a01b0316611ded565b610a3460048036036020811015610a2457600080fd5b50356001600160a01b0316611e26565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610a70578181015183820152602001610a58565b505050509050019250505060405180910390f35b6102b060048036036040811015610a9a57600080fd5b506001600160a01b038135169060200135611e92565b6103df600480360360c0811015610ac657600080fd5b813591602081013591810190606081016040820135600160201b811115610aec57600080fd5b820183602082011115610afe57600080fd5b803590602001918460018302840111600160201b83111715610b1f57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b811115610b7157600080fd5b820183602082011115610b8357600080fd5b803590602001918460018302840111600160201b83111715610ba457600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b811115610bf657600080fd5b820183602082011115610c0857600080fd5b803590602001918460018302840111600160201b83111715610c2957600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250611ec3915050565b6103df60048036036060811015610c8257600080fd5b506001600160a01b03813581169160208101359091169060400135611fcb565b6102e960048036036020811015610cb857600080fd5b5035611fe6565b6102b060048036036020811015610cd557600080fd5b5035611ff1565b6103df60048036036020811015610cf257600080fd5b810190602081018135600160201b811115610d0c57600080fd5b820183602082011115610d1e57600080fd5b803590602001918460018302840111600160201b83111715610d3f57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061200d945050505050565b6103df60048036036020811015610d9657600080fd5b5035612030565b61039760048036036020811015610db357600080fd5b503561204c565b61039761207a565b610305612089565b6102b06120ea565b6102b060048036036020811015610de857600080fd5b50356001600160a01b03166120f0565b6102b060048036036020811015610e0e57600080fd5b5035612158565b610397612210565b61030561221f565b6103df60048036036020811015610e3b57600080fd5b5035612280565b6103df60048036036040811015610e5857600080fd5b506001600160a01b0381351690602001351515612351565b6103df612456565b6102e960048036036020811015610e8e57600080fd5b5035612479565b610eb260048036036020811015610eab57600080fd5b503561248e565b604051808b81526020018a8152602001898152602001888152602001878152602001868152602001806020018060200180602001856001600160a01b03166001600160a01b03168152602001848103845288818151815260200191508051906020019080838360005b83811015610f33578181015183820152602001610f1b565b50505050905090810190601f168015610f605780820380516001836020036101000a031916815260200191505b50848103835287518152875160209182019189019080838360005b83811015610f93578181015183820152602001610f7b565b50505050905090810190601f168015610fc05780820380516001836020036101000a031916815260200191505b50848103825286518152865160209182019188019080838360005b83811015610ff3578181015183820152602001610fdb565b50505050905090810190601f1680156110205780820380516001836020036101000a031916815260200191505b509d505050505050505050505050505060405180910390f35b6103df6004803603608081101561104f57600080fd5b6001600160a01b03823581169260208101359091169160408201359190810190608081016060820135600160201b81111561108957600080fd5b82018360208201111561109b57600080fd5b803590602001918460018302840111600160201b831117156110bc57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550612697945050505050565b6103056004803603602081101561111357600080fd5b50356126f5565b6103df6004803603602081101561113057600080fd5b5035612978565b6102e9612c9a565b6102b0612ca3565b6102e96004803603604081101561115d57600080fd5b506001600160a01b0381358116916020013516612ca9565b6102b0612cd7565b6103df6004803603604081101561119357600080fd5b50803590602001356001600160a01b0316612cdd565b6103df600480360360208110156111bf57600080fd5b5035613117565b6103df600480360360208110156111dc57600080fd5b50356001600160a01b0316613247565b6103df6132cc565b600d602052816000526040600020818154811061120d57fe5b90600052602060002001600091509150505481565b6001600160e01b0319811660009081526001602052604090205460ff165b919050565b60078054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156112d15780601f106112a6576101008083540402835291602001916112d1565b820191906000526020600020905b8154815290600101906020018083116112b457829003601f168201915b505050505090505b90565b60006112e7826132f2565b6113225760405162461bcd60e51b815260040180806020018281038252602c81526020018061472b602c913960400191505060405180910390fd5b506000908152600560205260409020546001600160a01b031690565b60006113498261204c565b9050806001600160a01b0316836001600160a01b0316141561139c5760405162461bcd60e51b815260040180806020018281038252602181526020018061480d6021913960400191505060405180910390fd5b806001600160a01b03166113ae613305565b6001600160a01b031614806113cf57506113cf816113ca613305565b612ca9565b61140a5760405162461bcd60e51b815260040180806020018281038252603881526020018061465d6038913960400191505060405180910390fd5b6114148383613309565b505050565b600080600080606080606060006060806000809054906101000a90046001600160a01b03166001600160a01b0316336001600160a01b03161461145b57600080fd5b611463614458565b60008c8152600f60209081526040918290208251610180810184528154815260018201548184015260028201548185015260038201546060820152600482015460808201526005820180548551818602810186019096528086529194929360a086019392908301828280156114f757602002820191906000526020600020905b8154815260200190600101908083116114e3575b505050505081526020016006820180548060200260200160405190810160405280929190818152602001828054801561155957602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161153b575b5050509183525050600782015460208083019190915260088301805460408051601f600260001961010060018716150201909416939093049283018590048502810185018252828152940193928301828280156115f75780601f106115cc576101008083540402835291602001916115f7565b820191906000526020600020905b8154815290600101906020018083116115da57829003601f168201915b505050918352505060098201805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815293820193929183018282801561168b5780601f106116605761010080835404028352916020019161168b565b820191906000526020600020905b81548152906001019060200180831161166e57829003601f168201915b5050509183525050600a8201805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815293820193929183018282801561171f5780601f106116f45761010080835404028352916020019161171f565b820191906000526020600020905b81548152906001019060200180831161170257829003601f168201915b50505050508152602001600b820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b03168152505090508060000151816040015182606001518360e001518461010001518561012001518661014001518761016001518860c001518960a001518595508494508393508191508090509a509a509a509a509a509a509a509a509a509a50509193959799509193959799565b6000546001600160a01b031633146117d757600080fd5b6117e18282613377565b5050565b60006117f160036133da565b905090565b6000546001600160a01b0316331461180d57600080fd5b815181511461184d5760405162461bcd60e51b81526004018080602001828103825260298152602001806148bf6029913960400191505060405180910390fd5b6000805b835181101561187f5782818151811061186657fe5b6020026020010151820191508080600101915050611851565b50806064146118bf5760405162461bcd60e51b815260040180806020018281038252602381526020018061489c6023913960400191505060405180910390fd5b6118c7614458565b600f600060105481526020019081526020016000206040518061018001604052908160008201548152602001600182015481526020016002820154815260200160038201548152602001600482015481526020016005820180548060200260200160405190810160405280929190818152602001828054801561196957602002820191906000526020600020905b815481526020019060010190808311611955575b50505050508152602001600682018054806020026020016040519081016040528092919081815260200182805480156119cb57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116119ad575b5050509183525050600782015460208083019190915260088301805460408051601f60026000196101006001871615020190941693909304928301859004850281018501825282815294019392830182828015611a695780601f10611a3e57610100808354040283529160200191611a69565b820191906000526020600020905b815481529060010190602001808311611a4c57829003601f168201915b505050918352505060098201805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152938201939291830182828015611afd5780601f10611ad257610100808354040283529160200191611afd565b820191906000526020600020905b815481529060010190602001808311611ae057829003601f168201915b5050509183525050600a8201805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152938201939291830182828015611b915780601f10611b6657610100808354040283529160200191611b91565b820191906000526020600020905b815481529060010190602001808311611b7457829003601f168201915b5050509183525050600b91909101546001600160a01b0316602091820152601054825260408083018e90528282018d905260808301889052601154606084015260e083018c905261010083018b9052610120830189905260c0830187905260a0830186905261014083018a9052518851929350889290918291908401908083835b60208310611c315780518252601f199092019160209182019101611c12565b51815160209384036101000a60001901801990921691161790526040519190930181900381208c519095508c945090928392508401908083835b60208310611c8a5780518252601f199092019160209182019101611c6b565b51815160209384036101000a60001901801990921691161790526040519190930181900381208e519095508e945090928392508401908083835b60208310611ce35780518252601f199092019160209182019101611cc4565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390207fc7128ef83e27b770c32cee39d6f6ba01ee93bc0c4f4f82cc28499d258eac3f5f6010548e604051808381526020018281526020019250505060405180910390a45050601180549098019097555050601080546001019055505050505050565b600c60209081526000928352604080842090915290825290205460ff1681565b60125481565b611da7611da1613305565b826133e5565b611de25760405162461bcd60e51b815260040180806020018281038252603181526020018061482e6031913960400191505060405180910390fd5b611414838383613489565b6000546001600160a01b03163314611e0457600080fd5b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0381166000908152600d6020908152604091829020805483518184028101840190945280845260609392830182828015611e8657602002820191906000526020600020905b815481526020019060010190808311611e72575b50505050509050919050565b6001600160a01b0382166000908152600260205260408120611eba908363ffffffff6135e716565b90505b92915050565b6000546001600160a01b03163314611eda57600080fd5b6000868152600f60205260409020600401544210611f36576040805162461bcd60e51b815260206004820152601460248201527353616c6520697320616c7265616479206c69766560601b604482015290519081900360640190fd5b6000868152600f60209081526040909120600481018790558551611f62926008909201918701906144c2565b506000868152600f602090815260409091208451611f8892600a909201918601906144c2565b506000868152600f602090815260409091208351611fae926009909201918501906144c2565b506000958652600f60205260409095206007019490945550505050565b61141483838360405180602001604052806000815250612697565b6000611ebd826132f2565b60008061200560038463ffffffff6135f316565b509392505050565b6000546001600160a01b0316331461202457600080fd5b61202d8161360f565b50565b6000546001600160a01b0316331461204757600080fd5b601255565b6000611ebd826040518060600160405280602981526020016146bf602991396003919063ffffffff61362216565b600b546001600160a01b031681565b600a8054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156112d15780601f106112a6576101008083540402835291602001916112d1565b60105481565b60006001600160a01b0382166121375760405162461bcd60e51b815260040180806020018281038252602a815260200180614695602a913960400191505060405180910390fd5b6001600160a01b0382166000908152600260205260409020611ebd906133da565b6000611ebd601254612204600b60009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156121b157600080fd5b505afa1580156121c5573d6000803e3d6000fd5b505050506040513d60208110156121db57600080fd5b50516000868152600f60205260409020600701549060ff908116600a0a1663ffffffff61363916565b9063ffffffff61369216565b6000546001600160a01b031681565b60088054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156112d15780601f106112a6576101008083540402835291602001916112d1565b336000908152600c6020908152604080832084845290915290205460ff166122d95760405162461bcd60e51b81526004018080602001828103825260328152602001806147836032913960400191505060405180910390fd5b6000818152600e602052604090205460ff161561232e576040805162461bcd60e51b815260206004820152600e60248201526d105b1c9958591e481b5a5b9d195960921b604482015290519081900360640190fd5b6000818152600e60205260409020805460ff1916600117905561202d33826136f9565b612359613305565b6001600160a01b0316826001600160a01b031614156123bf576040805162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b80600660006123cc613305565b6001600160a01b03908116825260208083019390935260409182016000908120918716808252919093529120805460ff191692151592909217909155612410613305565b60408051841515815290516001600160a01b0392909216917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c319181900360200190a35050565b6000546001600160a01b0316331461246d57600080fd5b6013805460ff19169055565b600e6020526000908152604090205460ff1681565b600f602052806000526040600020600091509050806000015490806001015490806002015490806003015490806004015490806007015490806008018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561255e5780601f106125335761010080835404028352916020019161255e565b820191906000526020600020905b81548152906001019060200180831161254157829003601f168201915b5050505060098301805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529495949350908301828280156125ee5780601f106125c3576101008083540402835291602001916125ee565b820191906000526020600020905b8154815290600101906020018083116125d157829003601f168201915b50505050600a8301805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815294959493509083018282801561267e5780601f106126535761010080835404028352916020019161267e565b820191906000526020600020905b81548152906001019060200180831161266157829003601f168201915b505050600b90930154919250506001600160a01b03168a565b6126a86126a2613305565b836133e5565b6126e35760405162461bcd60e51b815260040180806020018281038252603181526020018061482e6031913960400191505060405180910390fd5b6126ef84848484613713565b50505050565b6060612700826132f2565b61273b5760405162461bcd60e51b815260040180806020018281038252602f8152602001806147de602f913960400191505060405180910390fd5b60008281526009602090815260409182902080548351601f60026000196101006001861615020190931692909204918201849004840281018401909452808452606093928301828280156127d05780601f106127a5576101008083540402835291602001916127d0565b820191906000526020600020905b8154815290600101906020018083116127b357829003601f168201915b5050505050905060606127e1612089565b90508051600014156127f557509050611240565b8151156128b65780826040516020018083805190602001908083835b602083106128305780518252601f199092019160209182019101612811565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b602083106128785780518252601f199092019160209182019101612859565b6001836020036101000a0380198251168184511680821785525050505050509050019250505060405160208183030381529060405292505050611240565b806128c085613765565b6040516020018083805190602001908083835b602083106128f25780518252601f1990920191602091820191016128d3565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b6020831061293a5780518252601f19909201916020918201910161291b565b6001836020036101000a0380198251168184511680821785525050505050509050019250505060405160208183030381529060405292505050919050565b60135460ff16156129c3576040805162461bcd60e51b815260206004820152601060248201526f13dc195b995c881a5cc81b1bd8dad95960821b604482015290519081900360640190fd5b6000818152600f60205260409020600b01546001600160a01b0316612a2f576040805162461bcd60e51b815260206004820152601760248201527f5061636b2077617320616c726561647920626f75676874000000000000000000604482015290519081900360640190fd5b6000818152600f6020526040902060070154612a86576040805162461bcd60e51b8152602060048201526011602482015270141858dac81a185cc81d1bc8195e1a5cdd607a1b604482015290519081900360640190fd5b6012546000828152600f60205260409020600701541015612ad85760405162461bcd60e51b815260040180806020018281038252603d81526020018061485f603d913960400191505060405180910390fd5b6000612ae382612158565b600b5460408051636eb1769f60e11b8152336004820152306024820152905192935083926001600160a01b039092169163dd62ed3e91604480820192602092909190829003018186803b158015612b3957600080fd5b505afa158015612b4d573d6000803e3d6000fd5b505050506040513d6020811015612b6357600080fd5b50511015612bb8576040805162461bcd60e51b815260206004820152601960248201527f4e6f7420656e6f756768206d6f6e657920706572207061636b00000000000000604482015290519081900360640190fd5b33612bc4818484613829565b60148054600101905560005b6000848152600f6020526040902060010154811015612c3f57336000818152600c60209081526040808320888452600f835281842060030154860184528252808320805460ff19166001908117909155938352600d825282208054808501825590835291200182905501612bd0565b506000838152600f6020526040808220600b0180546001600160a01b0319166001600160a01b038516908117909155905185927f459bdaa71b6c253b49d34a7622dc4c6c1c416c0567571c068b392ba7172ddd4c91a3505050565b60135460ff1681565b60115481565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205460ff1690565b60145481565b6000546001600160a01b03163314612cf457600080fd5b6000828152600f60205260409020548214612d4c576040805162461bcd60e51b8152602060048201526013602482015272141858dac8191bd95cc81b9bdd08195e1a5cdd606a1b604482015290519081900360640190fd5b612d54614458565b6000838152600f60209081526040918290208251610180810184528154815260018201548184015260028201548185015260038201546060820152600482015460808201526005820180548551818602810186019096528086529194929360a08601939290830182828015612de857602002820191906000526020600020905b815481526020019060010190808311612dd4575b5050505050815260200160068201805480602002602001604051908101604052809291908181526020018280548015612e4a57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612e2c575b5050509183525050600782015460208083019190915260088301805460408051601f60026000196101006001871615020190941693909304928301859004850281018501825282815294019392830182828015612ee85780601f10612ebd57610100808354040283529160200191612ee8565b820191906000526020600020905b815481529060010190602001808311612ecb57829003601f168201915b505050918352505060098201805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152938201939291830182828015612f7c5780601f10612f5157610100808354040283529160200191612f7c565b820191906000526020600020905b815481529060010190602001808311612f5f57829003601f168201915b5050509183525050600a8201805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529382019392918301828280156130105780601f10612fe557610100808354040283529160200191613010565b820191906000526020600020905b815481529060010190602001808311612ff357829003601f168201915b5050509183525050600b918201546001600160a01b039081166020928301526000878152600f9092526040822090920180546001600160a01b031916928616929092179091556014805460010190559091505b6000848152600f60205260409020600101548110156130db576001600160a01b0383166000818152600c60209081526040808320888452600f835281842060030154860184528252808320805460ff19166001908117909155938352600d825282208054808501825590835291200182905501613063565b5060405183906001600160a01b038416907f459bdaa71b6c253b49d34a7622dc4c6c1c416c0567571c068b392ba7172ddd4c90600090a3505050565b6000546001600160a01b0316331461312e57600080fd5b6000818152600f6020526040902060040154421061318a576040805162461bcd60e51b815260206004820152601460248201527353616c6520697320616c7265616479206c69766560601b604482015290519081900360640190fd5b6000818152600f6020526040812081815560018101829055600281018290556003810182905560048101829055906131c56005830182614540565b6131d3600683016000614540565b60078201600090556008820160006131eb919061455e565b6131f960098301600061455e565b613207600a8301600061455e565b50600b0180546001600160a01b031916905560405181907fc02722c9e8790b48040a1db93c8b8e288fa395ffeed86c32215412ec047fd89290600090a250565b6000546001600160a01b0316331461325e57600080fd5b6001600160a01b03811661327157600080fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146132e357600080fd5b6013805460ff19166001179055565b6000611ebd60038363ffffffff613c1416565b3390565b600081815260056020526040902080546001600160a01b0319166001600160a01b038416908117909155819061333e8261204c565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b613380826132f2565b6133bb5760405162461bcd60e51b815260040180806020018281038252602c815260200180614757602c913960400191505060405180910390fd5b60008281526009602090815260409091208251611414928401906144c2565b6000611ebd82613c20565b60006133f0826132f2565b61342b5760405162461bcd60e51b815260040180806020018281038252602c815260200180614631602c913960400191505060405180910390fd5b60006134368361204c565b9050806001600160a01b0316846001600160a01b031614806134715750836001600160a01b0316613466846112dc565b6001600160a01b0316145b8061348157506134818185612ca9565b949350505050565b826001600160a01b031661349c8261204c565b6001600160a01b0316146134e15760405162461bcd60e51b81526004018080602001828103825260298152602001806147b56029913960400191505060405180910390fd5b6001600160a01b0382166135265760405162461bcd60e51b815260040180806020018281038252602481526020018061460d6024913960400191505060405180910390fd5b613531838383611414565b61353c600082613309565b6001600160a01b0383166000908152600260205260409020613564908263ffffffff613c2416565b506001600160a01b038216600090815260026020526040902061358d908263ffffffff613c3016565b506135a06003828463ffffffff613c3c16565b5080826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b6000611eba8383613c52565b60008080806136028686613cb6565b9097909650945050505050565b80516117e190600a9060208401906144c2565b600061362f848484613d31565b90505b9392505050565b60008261364857506000611ebd565b8282028284828161365557fe5b0414611eba5760405162461bcd60e51b815260040180806020018281038252602181526020018061470a6021913960400191505060405180910390fd5b60008082116136e8576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b8183816136f157fe5b049392505050565b6117e1828260405180602001604052806000815250613dfb565b61371e848484613489565b61372a84848484613e4d565b6126ef5760405162461bcd60e51b81526004018080602001828103825260328152602001806145db6032913960400191505060405180910390fd5b60608161378a57506040805180820190915260018152600360fc1b6020820152611240565b8160005b81156137a257600101600a8204915061378e565b6060816040519080825280601f01601f1916602001820160405280156137cf576020820181803883390190505b50859350905060001982015b831561382057600a840660300160f81b828280600190039350815181106137fe57fe5b60200101906001600160f81b031916908160001a905350600a840493506137db565b50949350505050565b613831614458565b6000838152600f60209081526040918290208251610180810184528154815260018201548184015260028201548185015260038201546060820152600482015460808201526005820180548551818602810186019096528086529194929360a086019392908301828280156138c557602002820191906000526020600020905b8154815260200190600101908083116138b1575b505050505081526020016006820180548060200260200160405190810160405280929190818152602001828054801561392757602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311613909575b5050509183525050600782015460208083019190915260088301805460408051601f600260001961010060018716150201909416939093049283018590048502810185018252828152940193928301828280156139c55780601f1061399a576101008083540402835291602001916139c5565b820191906000526020600020905b8154815290600101906020018083116139a857829003601f168201915b505050918352505060098201805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152938201939291830182828015613a595780601f10613a2e57610100808354040283529160200191613a59565b820191906000526020600020905b815481529060010190602001808311613a3c57829003601f168201915b5050509183525050600a8201805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152938201939291830182828015613aed5780601f10613ac257610100808354040283529160200191613aed565b820191906000526020600020905b815481529060010190602001808311613ad057829003601f168201915b5050509183525050600b91909101546001600160a01b0316602090910152905060005b8160c0015151811015613c0d57600b5460c083015180516001600160a01b03909216916323b872dd91889185908110613b4557fe5b60200260200101516064878760a001518781518110613b6057fe5b60200260200101510281613b7057fe5b046040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001836001600160a01b03166001600160a01b031681526020018281526020019350505050602060405180830381600087803b158015613bd957600080fd5b505af1158015613bed573d6000803e3d6000fd5b505050506040513d6020811015613c0357600080fd5b5050600101613b10565b5050505050565b6000611eba8383613fcd565b5490565b6000611eba8383613fe5565b6000611eba83836140ab565b600061362f84846001600160a01b0385166140f5565b81546000908210613c945760405162461bcd60e51b81526004018080602001828103825260228152602001806145b96022913960400191505060405180910390fd5b826000018281548110613ca357fe5b9060005260206000200154905092915050565b815460009081908310613cfa5760405162461bcd60e51b81526004018080602001828103825260228152602001806146e86022913960400191505060405180910390fd5b6000846000018481548110613d0b57fe5b906000526020600020906002020190508060000154816001015492509250509250929050565b60008281526001840160205260408120548281613dcc5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613d91578181015183820152602001613d79565b50505050905090810190601f168015613dbe5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50846000016001820381548110613ddf57fe5b9060005260206000209060020201600101549150509392505050565b613e05838361418c565b613e126000848484613e4d565b6114145760405162461bcd60e51b81526004018080602001828103825260328152602001806145db6032913960400191505060405180910390fd5b6000613e61846001600160a01b03166142c6565b613e6d57506001613481565b6060613f93630a85bd0160e11b613e82613305565b88878760405160240180856001600160a01b03166001600160a01b03168152602001846001600160a01b03166001600160a01b0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015613efb578181015183820152602001613ee3565b50505050905090810190601f168015613f285780820380516001836020036101000a031916815260200191505b5095505050505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b0383818316178352505050506040518060600160405280603281526020016145db603291396001600160a01b038816919063ffffffff6142cc16565b90506000818060200190516020811015613fac57600080fd5b50516001600160e01b031916630a85bd0160e11b1492505050949350505050565b60009081526001919091016020526040902054151590565b600081815260018301602052604081205480156140a1578354600019808301919081019060009087908390811061401857fe5b906000526020600020015490508087600001848154811061403557fe5b60009182526020808320909101929092558281526001898101909252604090209084019055865487908061406557fe5b60019003818190600052602060002001600090559055866001016000878152602001908152602001600020600090556001945050505050611ebd565b6000915050611ebd565b60006140b78383613fcd565b6140ed57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155611ebd565b506000611ebd565b60008281526001840160205260408120548061415a575050604080518082018252838152602080820184815286546001818101895560008981528481209551600290930290950191825591519082015586548684528188019092529290912055613632565b8285600001600183038154811061416d57fe5b9060005260206000209060020201600101819055506000915050613632565b6001600160a01b0382166141e7576040805162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015290519081900360640190fd5b6141f0816132f2565b15614242576040805162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015290519081900360640190fd5b61424e60008383611414565b6001600160a01b0382166000908152600260205260409020614276908263ffffffff613c3016565b506142896003828463ffffffff613c3c16565b5060405181906001600160a01b038416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b3b151590565b606061362f8484600085856142e0856142c6565b614331576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106143705780518252601f199092019160209182019101614351565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146143d2576040519150601f19603f3d011682016040523d82523d6000602084013e6143d7565b606091505b50915091506143e78282866143f2565b979650505050505050565b60608315614401575081613632565b8251156144115782518084602001fd5b60405162461bcd60e51b8152602060048201818152845160248401528451859391928392604401919085019080838360008315613d91578181015183820152602001613d79565b604051806101800160405280600081526020016000815260200160008152602001600081526020016000815260200160608152602001606081526020016000815260200160608152602001606081526020016060815260200160006001600160a01b031681525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061450357805160ff1916838001178555614530565b82800160010185558215614530579182015b82811115614530578251825591602001919060010190614515565b5061453c92915061459e565b5090565b508054600082559060005260206000209081019061202d919061459e565b50805460018160011615610100020316600290046000825580601f10614584575061202d565b601f01602090049060005260206000209081019061202d91905b6112d991905b8082111561453c57600081556001016145a456fe456e756d657261626c655365743a20696e646578206f7574206f6620626f756e64734552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e456e756d657261626c654d61703a20696e646578206f7574206f6620626f756e6473536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732314d657461646174613a2055524920736574206f66206e6f6e6578697374656e7420746f6b656e546f6b656e20776173206e6f742072656769737465726564206f72206e6f742074686520726967687466756c206f776e65724552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314d657461646174613a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564507269636520696e207265616c4676722068617320746f20626520686967686572207468616e20756e6974207072696365206f6620746865207061636b53756d206f6620616c6c20616d6f756e74732068617320746f20657175616c2031303073616c65446973747269627574696f6e204c656e6768747320617265206e6f74207468652073616d65a26469706673582212201b273e9ac3c7c9572a7277a7f8969d82e730021fe482c2627cad168b3ef1b0f664736f6c63430006020033", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061027f5760003560e01c806369c7d8a31161015c578063b84c1392116100ce578063e985e9c511610087578063e985e9c514611147578063eb8800d014611175578063ec6923a11461117d578063ec90a293146111a9578063f2fde38b146111c6578063f83d08ba146111ec5761027f565b8063b84c139214610e95578063b88d4fde14611039578063c87b56dd146110fd578063dc45bfb31461111a578063dd7c5e5414611137578063e64165031461113f5761027f565b80638da5cb5b116101205780638da5cb5b14610e1557806395d89b4114610e1d578063a0712d6814610e25578063a22cb46514610e42578063a69df4b514610e70578063b7365f1f14610e785761027f565b806369c7d8a314610dba5780636c0360eb14610dc25780636fcbc6ed14610dca57806370a0823114610dd257806384a5027014610df85761027f565b806323b872dd116101f557806342842e0e116101b957806342842e0e14610c6c5780634f558e7914610ca25780634f6ccce714610cbf57806355f804b314610cdc5780635eeb57c014610d805780636352211e14610d9d5761027f565b806323b872dd146109b2578063298489d2146109e85780632c68603014610a0e5780632f745c5914610a845780633a307f6114610ab05761027f565b806315424e6e1161024757806315424e6e146103e1578063162094c4146105fd57806318160ddd146106a85780631a27a338146106b05780631e14a5331461097e5780631eae8636146109aa5761027f565b806301d243a61461028457806301ffc9a7146102c257806306fdde03146102fd578063081812fc1461037a578063095ea7b3146103b3575b600080fd5b6102b06004803603604081101561029a57600080fd5b506001600160a01b0381351690602001356111f4565b60408051918252519081900360200190f35b6102e9600480360360208110156102d857600080fd5b50356001600160e01b031916611222565b604080519115158252519081900360200190f35b610305611245565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561033f578181015183820152602001610327565b50505050905090810190601f16801561036c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103976004803603602081101561039057600080fd5b50356112dc565b604080516001600160a01b039092168252519081900360200190f35b6103df600480360360408110156103c957600080fd5b506001600160a01b03813516906020013561133e565b005b6103fe600480360360208110156103f757600080fd5b5035611419565b604051808b81526020018a8152602001898152602001888152602001806020018060200180602001876001600160a01b03166001600160a01b03168152602001806020018060200186810386528c818151815260200191508051906020019080838360005b8381101561047b578181015183820152602001610463565b50505050905090810190601f1680156104a85780820380516001836020036101000a031916815260200191505b5086810385528b5181528b516020918201918d019080838360005b838110156104db5781810151838201526020016104c3565b50505050905090810190601f1680156105085780820380516001836020036101000a031916815260200191505b5086810384528a5181528a516020918201918c019080838360005b8381101561053b578181015183820152602001610523565b50505050905090810190601f1680156105685780820380516001836020036101000a031916815260200191505b508681038352885181528851602091820191808b01910280838360005b8381101561059d578181015183820152602001610585565b50505050905001868103825287818151815260200191508051906020019060200280838360005b838110156105dc5781810151838201526020016105c4565b505050509050019f5050505050505050505050505050505060405180910390f35b6103df6004803603604081101561061357600080fd5b81359190810190604081016020820135600160201b81111561063457600080fd5b82018360208201111561064657600080fd5b803590602001918460018302840111600160201b8311171561066757600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506117c0945050505050565b6102b06117e5565b6103df60048036036101208110156106c757600080fd5b81359160208101359160408201359190810190608081016060820135600160201b8111156106f457600080fd5b82018360208201111561070657600080fd5b803590602001918460018302840111600160201b8311171561072757600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b81111561077957600080fd5b82018360208201111561078b57600080fd5b803590602001918460018302840111600160201b831117156107ac57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b8111156107fe57600080fd5b82018360208201111561081057600080fd5b803590602001918460018302840111600160201b8311171561083157600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092958435959094909350604081019250602001359050600160201b81111561088b57600080fd5b82018360208201111561089d57600080fd5b803590602001918460208302840111600160201b831117156108be57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b81111561090d57600080fd5b82018360208201111561091f57600080fd5b803590602001918460208302840111600160201b8311171561094057600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506117f6945050505050565b6102e96004803603604081101561099457600080fd5b506001600160a01b038135169060200135611d70565b6102b0611d90565b6103df600480360360608110156109c857600080fd5b506001600160a01b03813581169160208101359091169060400135611d96565b6103df600480360360208110156109fe57600080fd5b50356001600160a01b0316611ded565b610a3460048036036020811015610a2457600080fd5b50356001600160a01b0316611e26565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610a70578181015183820152602001610a58565b505050509050019250505060405180910390f35b6102b060048036036040811015610a9a57600080fd5b506001600160a01b038135169060200135611e92565b6103df600480360360c0811015610ac657600080fd5b813591602081013591810190606081016040820135600160201b811115610aec57600080fd5b820183602082011115610afe57600080fd5b803590602001918460018302840111600160201b83111715610b1f57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b811115610b7157600080fd5b820183602082011115610b8357600080fd5b803590602001918460018302840111600160201b83111715610ba457600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b811115610bf657600080fd5b820183602082011115610c0857600080fd5b803590602001918460018302840111600160201b83111715610c2957600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250611ec3915050565b6103df60048036036060811015610c8257600080fd5b506001600160a01b03813581169160208101359091169060400135611fcb565b6102e960048036036020811015610cb857600080fd5b5035611fe6565b6102b060048036036020811015610cd557600080fd5b5035611ff1565b6103df60048036036020811015610cf257600080fd5b810190602081018135600160201b811115610d0c57600080fd5b820183602082011115610d1e57600080fd5b803590602001918460018302840111600160201b83111715610d3f57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061200d945050505050565b6103df60048036036020811015610d9657600080fd5b5035612030565b61039760048036036020811015610db357600080fd5b503561204c565b61039761207a565b610305612089565b6102b06120ea565b6102b060048036036020811015610de857600080fd5b50356001600160a01b03166120f0565b6102b060048036036020811015610e0e57600080fd5b5035612158565b610397612210565b61030561221f565b6103df60048036036020811015610e3b57600080fd5b5035612280565b6103df60048036036040811015610e5857600080fd5b506001600160a01b0381351690602001351515612351565b6103df612456565b6102e960048036036020811015610e8e57600080fd5b5035612479565b610eb260048036036020811015610eab57600080fd5b503561248e565b604051808b81526020018a8152602001898152602001888152602001878152602001868152602001806020018060200180602001856001600160a01b03166001600160a01b03168152602001848103845288818151815260200191508051906020019080838360005b83811015610f33578181015183820152602001610f1b565b50505050905090810190601f168015610f605780820380516001836020036101000a031916815260200191505b50848103835287518152875160209182019189019080838360005b83811015610f93578181015183820152602001610f7b565b50505050905090810190601f168015610fc05780820380516001836020036101000a031916815260200191505b50848103825286518152865160209182019188019080838360005b83811015610ff3578181015183820152602001610fdb565b50505050905090810190601f1680156110205780820380516001836020036101000a031916815260200191505b509d505050505050505050505050505060405180910390f35b6103df6004803603608081101561104f57600080fd5b6001600160a01b03823581169260208101359091169160408201359190810190608081016060820135600160201b81111561108957600080fd5b82018360208201111561109b57600080fd5b803590602001918460018302840111600160201b831117156110bc57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550612697945050505050565b6103056004803603602081101561111357600080fd5b50356126f5565b6103df6004803603602081101561113057600080fd5b5035612978565b6102e9612c9a565b6102b0612ca3565b6102e96004803603604081101561115d57600080fd5b506001600160a01b0381358116916020013516612ca9565b6102b0612cd7565b6103df6004803603604081101561119357600080fd5b50803590602001356001600160a01b0316612cdd565b6103df600480360360208110156111bf57600080fd5b5035613117565b6103df600480360360208110156111dc57600080fd5b50356001600160a01b0316613247565b6103df6132cc565b600d602052816000526040600020818154811061120d57fe5b90600052602060002001600091509150505481565b6001600160e01b0319811660009081526001602052604090205460ff165b919050565b60078054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156112d15780601f106112a6576101008083540402835291602001916112d1565b820191906000526020600020905b8154815290600101906020018083116112b457829003601f168201915b505050505090505b90565b60006112e7826132f2565b6113225760405162461bcd60e51b815260040180806020018281038252602c81526020018061472b602c913960400191505060405180910390fd5b506000908152600560205260409020546001600160a01b031690565b60006113498261204c565b9050806001600160a01b0316836001600160a01b0316141561139c5760405162461bcd60e51b815260040180806020018281038252602181526020018061480d6021913960400191505060405180910390fd5b806001600160a01b03166113ae613305565b6001600160a01b031614806113cf57506113cf816113ca613305565b612ca9565b61140a5760405162461bcd60e51b815260040180806020018281038252603881526020018061465d6038913960400191505060405180910390fd5b6114148383613309565b505050565b600080600080606080606060006060806000809054906101000a90046001600160a01b03166001600160a01b0316336001600160a01b03161461145b57600080fd5b611463614458565b60008c8152600f60209081526040918290208251610180810184528154815260018201548184015260028201548185015260038201546060820152600482015460808201526005820180548551818602810186019096528086529194929360a086019392908301828280156114f757602002820191906000526020600020905b8154815260200190600101908083116114e3575b505050505081526020016006820180548060200260200160405190810160405280929190818152602001828054801561155957602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161153b575b5050509183525050600782015460208083019190915260088301805460408051601f600260001961010060018716150201909416939093049283018590048502810185018252828152940193928301828280156115f75780601f106115cc576101008083540402835291602001916115f7565b820191906000526020600020905b8154815290600101906020018083116115da57829003601f168201915b505050918352505060098201805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815293820193929183018282801561168b5780601f106116605761010080835404028352916020019161168b565b820191906000526020600020905b81548152906001019060200180831161166e57829003601f168201915b5050509183525050600a8201805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815293820193929183018282801561171f5780601f106116f45761010080835404028352916020019161171f565b820191906000526020600020905b81548152906001019060200180831161170257829003601f168201915b50505050508152602001600b820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b03168152505090508060000151816040015182606001518360e001518461010001518561012001518661014001518761016001518860c001518960a001518595508494508393508191508090509a509a509a509a509a509a509a509a509a509a50509193959799509193959799565b6000546001600160a01b031633146117d757600080fd5b6117e18282613377565b5050565b60006117f160036133da565b905090565b6000546001600160a01b0316331461180d57600080fd5b815181511461184d5760405162461bcd60e51b81526004018080602001828103825260298152602001806148bf6029913960400191505060405180910390fd5b6000805b835181101561187f5782818151811061186657fe5b6020026020010151820191508080600101915050611851565b50806064146118bf5760405162461bcd60e51b815260040180806020018281038252602381526020018061489c6023913960400191505060405180910390fd5b6118c7614458565b600f600060105481526020019081526020016000206040518061018001604052908160008201548152602001600182015481526020016002820154815260200160038201548152602001600482015481526020016005820180548060200260200160405190810160405280929190818152602001828054801561196957602002820191906000526020600020905b815481526020019060010190808311611955575b50505050508152602001600682018054806020026020016040519081016040528092919081815260200182805480156119cb57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116119ad575b5050509183525050600782015460208083019190915260088301805460408051601f60026000196101006001871615020190941693909304928301859004850281018501825282815294019392830182828015611a695780601f10611a3e57610100808354040283529160200191611a69565b820191906000526020600020905b815481529060010190602001808311611a4c57829003601f168201915b505050918352505060098201805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152938201939291830182828015611afd5780601f10611ad257610100808354040283529160200191611afd565b820191906000526020600020905b815481529060010190602001808311611ae057829003601f168201915b5050509183525050600a8201805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152938201939291830182828015611b915780601f10611b6657610100808354040283529160200191611b91565b820191906000526020600020905b815481529060010190602001808311611b7457829003601f168201915b5050509183525050600b91909101546001600160a01b0316602091820152601054825260408083018e90528282018d905260808301889052601154606084015260e083018c905261010083018b9052610120830189905260c0830187905260a0830186905261014083018a9052518851929350889290918291908401908083835b60208310611c315780518252601f199092019160209182019101611c12565b51815160209384036101000a60001901801990921691161790526040519190930181900381208c519095508c945090928392508401908083835b60208310611c8a5780518252601f199092019160209182019101611c6b565b51815160209384036101000a60001901801990921691161790526040519190930181900381208e519095508e945090928392508401908083835b60208310611ce35780518252601f199092019160209182019101611cc4565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390207fc7128ef83e27b770c32cee39d6f6ba01ee93bc0c4f4f82cc28499d258eac3f5f6010548e604051808381526020018281526020019250505060405180910390a45050601180549098019097555050601080546001019055505050505050565b600c60209081526000928352604080842090915290825290205460ff1681565b60125481565b611da7611da1613305565b826133e5565b611de25760405162461bcd60e51b815260040180806020018281038252603181526020018061482e6031913960400191505060405180910390fd5b611414838383613489565b6000546001600160a01b03163314611e0457600080fd5b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0381166000908152600d6020908152604091829020805483518184028101840190945280845260609392830182828015611e8657602002820191906000526020600020905b815481526020019060010190808311611e72575b50505050509050919050565b6001600160a01b0382166000908152600260205260408120611eba908363ffffffff6135e716565b90505b92915050565b6000546001600160a01b03163314611eda57600080fd5b6000868152600f60205260409020600401544210611f36576040805162461bcd60e51b815260206004820152601460248201527353616c6520697320616c7265616479206c69766560601b604482015290519081900360640190fd5b6000868152600f60209081526040909120600481018790558551611f62926008909201918701906144c2565b506000868152600f602090815260409091208451611f8892600a909201918601906144c2565b506000868152600f602090815260409091208351611fae926009909201918501906144c2565b506000958652600f60205260409095206007019490945550505050565b61141483838360405180602001604052806000815250612697565b6000611ebd826132f2565b60008061200560038463ffffffff6135f316565b509392505050565b6000546001600160a01b0316331461202457600080fd5b61202d8161360f565b50565b6000546001600160a01b0316331461204757600080fd5b601255565b6000611ebd826040518060600160405280602981526020016146bf602991396003919063ffffffff61362216565b600b546001600160a01b031681565b600a8054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156112d15780601f106112a6576101008083540402835291602001916112d1565b60105481565b60006001600160a01b0382166121375760405162461bcd60e51b815260040180806020018281038252602a815260200180614695602a913960400191505060405180910390fd5b6001600160a01b0382166000908152600260205260409020611ebd906133da565b6000611ebd601254612204600b60009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156121b157600080fd5b505afa1580156121c5573d6000803e3d6000fd5b505050506040513d60208110156121db57600080fd5b50516000868152600f60205260409020600701549060ff908116600a0a1663ffffffff61363916565b9063ffffffff61369216565b6000546001600160a01b031681565b60088054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156112d15780601f106112a6576101008083540402835291602001916112d1565b336000908152600c6020908152604080832084845290915290205460ff166122d95760405162461bcd60e51b81526004018080602001828103825260328152602001806147836032913960400191505060405180910390fd5b6000818152600e602052604090205460ff161561232e576040805162461bcd60e51b815260206004820152600e60248201526d105b1c9958591e481b5a5b9d195960921b604482015290519081900360640190fd5b6000818152600e60205260409020805460ff1916600117905561202d33826136f9565b612359613305565b6001600160a01b0316826001600160a01b031614156123bf576040805162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b80600660006123cc613305565b6001600160a01b03908116825260208083019390935260409182016000908120918716808252919093529120805460ff191692151592909217909155612410613305565b60408051841515815290516001600160a01b0392909216917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c319181900360200190a35050565b6000546001600160a01b0316331461246d57600080fd5b6013805460ff19169055565b600e6020526000908152604090205460ff1681565b600f602052806000526040600020600091509050806000015490806001015490806002015490806003015490806004015490806007015490806008018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561255e5780601f106125335761010080835404028352916020019161255e565b820191906000526020600020905b81548152906001019060200180831161254157829003601f168201915b5050505060098301805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529495949350908301828280156125ee5780601f106125c3576101008083540402835291602001916125ee565b820191906000526020600020905b8154815290600101906020018083116125d157829003601f168201915b50505050600a8301805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815294959493509083018282801561267e5780601f106126535761010080835404028352916020019161267e565b820191906000526020600020905b81548152906001019060200180831161266157829003601f168201915b505050600b90930154919250506001600160a01b03168a565b6126a86126a2613305565b836133e5565b6126e35760405162461bcd60e51b815260040180806020018281038252603181526020018061482e6031913960400191505060405180910390fd5b6126ef84848484613713565b50505050565b6060612700826132f2565b61273b5760405162461bcd60e51b815260040180806020018281038252602f8152602001806147de602f913960400191505060405180910390fd5b60008281526009602090815260409182902080548351601f60026000196101006001861615020190931692909204918201849004840281018401909452808452606093928301828280156127d05780601f106127a5576101008083540402835291602001916127d0565b820191906000526020600020905b8154815290600101906020018083116127b357829003601f168201915b5050505050905060606127e1612089565b90508051600014156127f557509050611240565b8151156128b65780826040516020018083805190602001908083835b602083106128305780518252601f199092019160209182019101612811565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b602083106128785780518252601f199092019160209182019101612859565b6001836020036101000a0380198251168184511680821785525050505050509050019250505060405160208183030381529060405292505050611240565b806128c085613765565b6040516020018083805190602001908083835b602083106128f25780518252601f1990920191602091820191016128d3565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b6020831061293a5780518252601f19909201916020918201910161291b565b6001836020036101000a0380198251168184511680821785525050505050509050019250505060405160208183030381529060405292505050919050565b60135460ff16156129c3576040805162461bcd60e51b815260206004820152601060248201526f13dc195b995c881a5cc81b1bd8dad95960821b604482015290519081900360640190fd5b6000818152600f60205260409020600b01546001600160a01b0316612a2f576040805162461bcd60e51b815260206004820152601760248201527f5061636b2077617320616c726561647920626f75676874000000000000000000604482015290519081900360640190fd5b6000818152600f6020526040902060070154612a86576040805162461bcd60e51b8152602060048201526011602482015270141858dac81a185cc81d1bc8195e1a5cdd607a1b604482015290519081900360640190fd5b6012546000828152600f60205260409020600701541015612ad85760405162461bcd60e51b815260040180806020018281038252603d81526020018061485f603d913960400191505060405180910390fd5b6000612ae382612158565b600b5460408051636eb1769f60e11b8152336004820152306024820152905192935083926001600160a01b039092169163dd62ed3e91604480820192602092909190829003018186803b158015612b3957600080fd5b505afa158015612b4d573d6000803e3d6000fd5b505050506040513d6020811015612b6357600080fd5b50511015612bb8576040805162461bcd60e51b815260206004820152601960248201527f4e6f7420656e6f756768206d6f6e657920706572207061636b00000000000000604482015290519081900360640190fd5b33612bc4818484613829565b60148054600101905560005b6000848152600f6020526040902060010154811015612c3f57336000818152600c60209081526040808320888452600f835281842060030154860184528252808320805460ff19166001908117909155938352600d825282208054808501825590835291200182905501612bd0565b506000838152600f6020526040808220600b0180546001600160a01b0319166001600160a01b038516908117909155905185927f459bdaa71b6c253b49d34a7622dc4c6c1c416c0567571c068b392ba7172ddd4c91a3505050565b60135460ff1681565b60115481565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205460ff1690565b60145481565b6000546001600160a01b03163314612cf457600080fd5b6000828152600f60205260409020548214612d4c576040805162461bcd60e51b8152602060048201526013602482015272141858dac8191bd95cc81b9bdd08195e1a5cdd606a1b604482015290519081900360640190fd5b612d54614458565b6000838152600f60209081526040918290208251610180810184528154815260018201548184015260028201548185015260038201546060820152600482015460808201526005820180548551818602810186019096528086529194929360a08601939290830182828015612de857602002820191906000526020600020905b815481526020019060010190808311612dd4575b5050505050815260200160068201805480602002602001604051908101604052809291908181526020018280548015612e4a57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612e2c575b5050509183525050600782015460208083019190915260088301805460408051601f60026000196101006001871615020190941693909304928301859004850281018501825282815294019392830182828015612ee85780601f10612ebd57610100808354040283529160200191612ee8565b820191906000526020600020905b815481529060010190602001808311612ecb57829003601f168201915b505050918352505060098201805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152938201939291830182828015612f7c5780601f10612f5157610100808354040283529160200191612f7c565b820191906000526020600020905b815481529060010190602001808311612f5f57829003601f168201915b5050509183525050600a8201805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529382019392918301828280156130105780601f10612fe557610100808354040283529160200191613010565b820191906000526020600020905b815481529060010190602001808311612ff357829003601f168201915b5050509183525050600b918201546001600160a01b039081166020928301526000878152600f9092526040822090920180546001600160a01b031916928616929092179091556014805460010190559091505b6000848152600f60205260409020600101548110156130db576001600160a01b0383166000818152600c60209081526040808320888452600f835281842060030154860184528252808320805460ff19166001908117909155938352600d825282208054808501825590835291200182905501613063565b5060405183906001600160a01b038416907f459bdaa71b6c253b49d34a7622dc4c6c1c416c0567571c068b392ba7172ddd4c90600090a3505050565b6000546001600160a01b0316331461312e57600080fd5b6000818152600f6020526040902060040154421061318a576040805162461bcd60e51b815260206004820152601460248201527353616c6520697320616c7265616479206c69766560601b604482015290519081900360640190fd5b6000818152600f6020526040812081815560018101829055600281018290556003810182905560048101829055906131c56005830182614540565b6131d3600683016000614540565b60078201600090556008820160006131eb919061455e565b6131f960098301600061455e565b613207600a8301600061455e565b50600b0180546001600160a01b031916905560405181907fc02722c9e8790b48040a1db93c8b8e288fa395ffeed86c32215412ec047fd89290600090a250565b6000546001600160a01b0316331461325e57600080fd5b6001600160a01b03811661327157600080fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146132e357600080fd5b6013805460ff19166001179055565b6000611ebd60038363ffffffff613c1416565b3390565b600081815260056020526040902080546001600160a01b0319166001600160a01b038416908117909155819061333e8261204c565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b613380826132f2565b6133bb5760405162461bcd60e51b815260040180806020018281038252602c815260200180614757602c913960400191505060405180910390fd5b60008281526009602090815260409091208251611414928401906144c2565b6000611ebd82613c20565b60006133f0826132f2565b61342b5760405162461bcd60e51b815260040180806020018281038252602c815260200180614631602c913960400191505060405180910390fd5b60006134368361204c565b9050806001600160a01b0316846001600160a01b031614806134715750836001600160a01b0316613466846112dc565b6001600160a01b0316145b8061348157506134818185612ca9565b949350505050565b826001600160a01b031661349c8261204c565b6001600160a01b0316146134e15760405162461bcd60e51b81526004018080602001828103825260298152602001806147b56029913960400191505060405180910390fd5b6001600160a01b0382166135265760405162461bcd60e51b815260040180806020018281038252602481526020018061460d6024913960400191505060405180910390fd5b613531838383611414565b61353c600082613309565b6001600160a01b0383166000908152600260205260409020613564908263ffffffff613c2416565b506001600160a01b038216600090815260026020526040902061358d908263ffffffff613c3016565b506135a06003828463ffffffff613c3c16565b5080826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b6000611eba8383613c52565b60008080806136028686613cb6565b9097909650945050505050565b80516117e190600a9060208401906144c2565b600061362f848484613d31565b90505b9392505050565b60008261364857506000611ebd565b8282028284828161365557fe5b0414611eba5760405162461bcd60e51b815260040180806020018281038252602181526020018061470a6021913960400191505060405180910390fd5b60008082116136e8576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b8183816136f157fe5b049392505050565b6117e1828260405180602001604052806000815250613dfb565b61371e848484613489565b61372a84848484613e4d565b6126ef5760405162461bcd60e51b81526004018080602001828103825260328152602001806145db6032913960400191505060405180910390fd5b60608161378a57506040805180820190915260018152600360fc1b6020820152611240565b8160005b81156137a257600101600a8204915061378e565b6060816040519080825280601f01601f1916602001820160405280156137cf576020820181803883390190505b50859350905060001982015b831561382057600a840660300160f81b828280600190039350815181106137fe57fe5b60200101906001600160f81b031916908160001a905350600a840493506137db565b50949350505050565b613831614458565b6000838152600f60209081526040918290208251610180810184528154815260018201548184015260028201548185015260038201546060820152600482015460808201526005820180548551818602810186019096528086529194929360a086019392908301828280156138c557602002820191906000526020600020905b8154815260200190600101908083116138b1575b505050505081526020016006820180548060200260200160405190810160405280929190818152602001828054801561392757602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311613909575b5050509183525050600782015460208083019190915260088301805460408051601f600260001961010060018716150201909416939093049283018590048502810185018252828152940193928301828280156139c55780601f1061399a576101008083540402835291602001916139c5565b820191906000526020600020905b8154815290600101906020018083116139a857829003601f168201915b505050918352505060098201805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152938201939291830182828015613a595780601f10613a2e57610100808354040283529160200191613a59565b820191906000526020600020905b815481529060010190602001808311613a3c57829003601f168201915b5050509183525050600a8201805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152938201939291830182828015613aed5780601f10613ac257610100808354040283529160200191613aed565b820191906000526020600020905b815481529060010190602001808311613ad057829003601f168201915b5050509183525050600b91909101546001600160a01b0316602090910152905060005b8160c0015151811015613c0d57600b5460c083015180516001600160a01b03909216916323b872dd91889185908110613b4557fe5b60200260200101516064878760a001518781518110613b6057fe5b60200260200101510281613b7057fe5b046040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001836001600160a01b03166001600160a01b031681526020018281526020019350505050602060405180830381600087803b158015613bd957600080fd5b505af1158015613bed573d6000803e3d6000fd5b505050506040513d6020811015613c0357600080fd5b5050600101613b10565b5050505050565b6000611eba8383613fcd565b5490565b6000611eba8383613fe5565b6000611eba83836140ab565b600061362f84846001600160a01b0385166140f5565b81546000908210613c945760405162461bcd60e51b81526004018080602001828103825260228152602001806145b96022913960400191505060405180910390fd5b826000018281548110613ca357fe5b9060005260206000200154905092915050565b815460009081908310613cfa5760405162461bcd60e51b81526004018080602001828103825260228152602001806146e86022913960400191505060405180910390fd5b6000846000018481548110613d0b57fe5b906000526020600020906002020190508060000154816001015492509250509250929050565b60008281526001840160205260408120548281613dcc5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613d91578181015183820152602001613d79565b50505050905090810190601f168015613dbe5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50846000016001820381548110613ddf57fe5b9060005260206000209060020201600101549150509392505050565b613e05838361418c565b613e126000848484613e4d565b6114145760405162461bcd60e51b81526004018080602001828103825260328152602001806145db6032913960400191505060405180910390fd5b6000613e61846001600160a01b03166142c6565b613e6d57506001613481565b6060613f93630a85bd0160e11b613e82613305565b88878760405160240180856001600160a01b03166001600160a01b03168152602001846001600160a01b03166001600160a01b0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015613efb578181015183820152602001613ee3565b50505050905090810190601f168015613f285780820380516001836020036101000a031916815260200191505b5095505050505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b0383818316178352505050506040518060600160405280603281526020016145db603291396001600160a01b038816919063ffffffff6142cc16565b90506000818060200190516020811015613fac57600080fd5b50516001600160e01b031916630a85bd0160e11b1492505050949350505050565b60009081526001919091016020526040902054151590565b600081815260018301602052604081205480156140a1578354600019808301919081019060009087908390811061401857fe5b906000526020600020015490508087600001848154811061403557fe5b60009182526020808320909101929092558281526001898101909252604090209084019055865487908061406557fe5b60019003818190600052602060002001600090559055866001016000878152602001908152602001600020600090556001945050505050611ebd565b6000915050611ebd565b60006140b78383613fcd565b6140ed57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155611ebd565b506000611ebd565b60008281526001840160205260408120548061415a575050604080518082018252838152602080820184815286546001818101895560008981528481209551600290930290950191825591519082015586548684528188019092529290912055613632565b8285600001600183038154811061416d57fe5b9060005260206000209060020201600101819055506000915050613632565b6001600160a01b0382166141e7576040805162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015290519081900360640190fd5b6141f0816132f2565b15614242576040805162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015290519081900360640190fd5b61424e60008383611414565b6001600160a01b0382166000908152600260205260409020614276908263ffffffff613c3016565b506142896003828463ffffffff613c3c16565b5060405181906001600160a01b038416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b3b151590565b606061362f8484600085856142e0856142c6565b614331576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106143705780518252601f199092019160209182019101614351565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146143d2576040519150601f19603f3d011682016040523d82523d6000602084013e6143d7565b606091505b50915091506143e78282866143f2565b979650505050505050565b60608315614401575081613632565b8251156144115782518084602001fd5b60405162461bcd60e51b8152602060048201818152845160248401528451859391928392604401919085019080838360008315613d91578181015183820152602001613d79565b604051806101800160405280600081526020016000815260200160008152602001600081526020016000815260200160608152602001606081526020016000815260200160608152602001606081526020016060815260200160006001600160a01b031681525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061450357805160ff1916838001178555614530565b82800160010185558215614530579182015b82811115614530578251825591602001919060010190614515565b5061453c92915061459e565b5090565b508054600082559060005260206000209081019061202d919061459e565b50805460018160011615610100020316600290046000825580601f10614584575061202d565b601f01602090049060005260206000209081019061202d91905b6112d991905b8082111561453c57600081556001016145a456fe456e756d657261626c655365743a20696e646578206f7574206f6620626f756e64734552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e456e756d657261626c654d61703a20696e646578206f7574206f6620626f756e6473536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732314d657461646174613a2055524920736574206f66206e6f6e6578697374656e7420746f6b656e546f6b656e20776173206e6f742072656769737465726564206f72206e6f742074686520726967687466756c206f776e65724552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314d657461646174613a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564507269636520696e207265616c4676722068617320746f20626520686967686572207468616e20756e6974207072696365206f6620746865207061636b53756d206f6620616c6c20616d6f756e74732068617320746f20657175616c2031303073616c65446973747269627574696f6e204c656e6768747320617265206e6f74207468652073616d65a26469706673582212201b273e9ac3c7c9572a7277a7f8969d82e730021fe482c2627cad168b3ef1b0f664736f6c63430006020033", - "sourceMap": "205:7346:8:-:0;;;701:1;668:34;;;;708:28;;;;984:40;;;;1031:27;;;-1:-1:-1;;1031:27:8;;;1064:31;;1542:107;5:2:-1;;;;30:1;27;20:12;5:2;1542:107:8;;;;;;;;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1542:107:8;;;;;;;;;;;;;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;1542:107:8;;420:4:-1;411:14;;;;1542:107:8;;;;;411:14:-1;1542:107: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;1542:107:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1542:107:8;;420:4:-1;411:14;;;;1542:107:8;;;;;411:14:-1;1542:107: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;1542:107:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1542:107:8;;;;;508:5:9;:18;;-1:-1:-1;;;;;;508:18:9;516:10;508:18;;;1542:107:8;-1:-1:-1;1633:4:8;;-1:-1:-1;1639:6:8;768:40:10;-1:-1:-1;;;;;;;;768:18:10;:40;:::i;:::-;3651:13:15;;;;:5;;:13;;;;;:::i;:::-;-1:-1:-1;3674:17:15;;;;:7;;:17;;;;;:::i;:::-;-1:-1:-1;3779:40:15;-1:-1:-1;;;;;;;;3779:18:15;:40;:::i;:::-;3829:49;-1:-1:-1;;;;;;;;3829:18:15;:49;:::i;:::-;3888:51;-1:-1:-1;;;;;;;;3888:18:15;:51;:::i;:::-;3577:369;;1542:107:8;;;205:7346;;1507:198:10;-1:-1:-1;;;;;;1590:25:10;;;;;1582:66;;;;;-1:-1:-1;;;1582:66:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1658:33:10;;;;;1694:4;1658:33;;;;;;;;:40;;-1:-1:-1;;1658:40:10;;;;;;1507:198::o;205:7346:8:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;205:7346:8;;;-1:-1:-1;205:7346:8;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", - "deployedSourceMap": "205:7346:8:-:0;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;205:7346:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;513:55;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;513:55:8;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;965:148:10;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;965:148:10;-1:-1:-1;;;;;;965:148:10;;:::i;:::-;;;;;;;;;;;;;;;;;;4517:98: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;4517:98:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7222:217;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7222:217:15;;:::i;:::-;;;;-1:-1:-1;;;;;7222:217:15;;;;;;;;;;;;;;6766:395;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;6766:395:15;;;;;;;;:::i;:::-;;2622:465:8;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2622:465:8;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2622:465:8;-1:-1:-1;;;;;2622:465: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;2622:465:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2622:465: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;2622:465:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2622:465: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;2622:465:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2622:465: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;2622:465: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;2622:465:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2145:117;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2145:117:8;;;;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;2145:117:8;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;2145:117:8;;;;;;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;2145:117:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;2145:117:8;;-1:-1:-1;2145:117:8;;-1:-1:-1;;;;;2145:117:8:i;6260:208:15:-;;;:::i;4197:1348:8:-;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;4197:1348:8;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;4197:1348:8;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;4197:1348:8;;;;;;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;4197:1348:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;4197:1348:8;;;;;;;;-1:-1:-1;4197:1348:8;;-1:-1:-1;;;;;5:28;;2:2;;;46:1;43;36:12;2:2;4197:1348:8;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;4197:1348:8;;;;;;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;4197:1348:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;4197:1348:8;;;;;;;;-1:-1:-1;4197:1348:8;;-1:-1:-1;;;;;5:28;;2:2;;;46:1;43;36:12;2:2;4197:1348:8;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;4197:1348:8;;;;;;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;4197:1348:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;4197:1348:8;;;;;;;;;-1:-1:-1;4197:1348:8;;;;-1:-1:-1;4197:1348:8;;;;-1:-1:-1;;;;5:28;;2:2;;;46:1;43;36:12;2:2;4197:1348:8;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;4197:1348:8;;;;;;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;4197:1348:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;4197:1348:8;;;;;;;;-1:-1:-1;4197:1348:8;;-1:-1:-1;;;;;5:28;;2:2;;;46:1;43;36:12;2:2;4197:1348:8;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;4197:1348:8;;;;;;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;4197:1348:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;4197:1348:8;;-1:-1:-1;4197:1348:8;;-1:-1:-1;;;;;4197:1348:8:i;442:65::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;442:65:8;;;;;;;;:::i;984:40::-;;;:::i;8086:300:15:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;8086:300:15;;;;;;;;;;;;;;;;;:::i;7097:118:8:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7097:118:8;-1:-1:-1;;;;;7097:118:8;;:::i;2482:134::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2482:134:8;-1:-1:-1;;;;;2482:134: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;2482:134:8;;;;;;;;;;;;;;;;;6029:160:15;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;6029:160:15;;;;;;;;:::i;6095:451:8:-;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;6095:451:8;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;6095:451:8;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6095:451:8;;;;;;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;6095:451:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;6095:451:8;;;;;;;;-1:-1:-1;6095:451:8;;-1:-1:-1;;;;;5:28;;2:2;;;46:1;43;36:12;2:2;6095:451:8;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6095:451:8;;;;;;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;6095:451:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;6095:451:8;;;;;;;;-1:-1:-1;6095:451:8;;-1:-1:-1;;;;;5:28;;2:2;;;46:1;43;36:12;2:2;6095:451:8;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;6095:451:8;;;;;;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;6095:451:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;6095:451:8;;-1:-1:-1;;6095:451:8;;;-1:-1:-1;6095:451:8;;-1:-1:-1;;6095:451:8:i;8452:149:15:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;8452:149:15;;;;;;;;;;;;;;;;;:::i;2372:100:8:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2372:100:8;;:::i;6540:169:15:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6540:169:15;;:::i;2268:97:8:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2268:97:8;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;2268:97:8;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;2268:97:8;;;;;;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;2268:97:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;2268:97:8;;-1:-1:-1;2268:97:8;;-1:-1:-1;;;;;2268:97:8:i;7221:185::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7221:185:8;;:::i;4280:175:15:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4280:175:15;;:::i;288:27:8:-;;;:::i;5855:95:15:-;;;:::i;668:34:8:-;;;:::i;4005:218:15:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4005:218:15;-1:-1:-1;;;;;4005:218:15;;:::i;3093:173:8:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3093:173:8;;:::i;239:20:9:-;;;:::i;4679:102:15:-;;;:::i;6769:322:8:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6769:322:8;;:::i;7506:290:15:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;7506:290:15;;;;;;;;;;:::i;7482:67:8:-;;;:::i;574:45::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;574:45:8;;:::i;625:37::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;625:37:8;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;625:37:8;-1:-1:-1;;;;;625:37: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;625:37:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;625:37: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;625:37:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;625:37: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;625:37:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8667:282:15;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;8667:282:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;8667:282:15;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;8667:282:15;;;;;;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:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;8667:282:15;;-1:-1:-1;8667:282:15;;-1:-1:-1;;;;;8667:282:15:i;4847:776::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4847:776:15;;:::i;3272:919:8:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3272:919:8;;:::i;1031:27::-;;;:::i;708:28::-;;;:::i;7862:162:15:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;7862:162:15;;;;;;;;;;:::i;1064:31:8:-;;;:::i;5552:537::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5552:537:8;;;;;;-1:-1:-1;;;;;5552:537:8;;:::i;6552:211::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6552:211:8;;:::i;864:188:9:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;864:188:9;-1:-1:-1;;;;;864:188:9;;:::i;7412:64:8:-;;;:::i;513:55::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;965:148:10:-;-1:-1:-1;;;;;;1073:33:10;;1050:4;1073:33;;;:20;:33;;;;;;;;965:148;;;;:::o;4517:98:15:-;4603:5;4596:12;;;;;;;;-1:-1:-1;;4596:12:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7408:24:15;;;;:15;:24;;;;;;-1:-1:-1;;;;;7408:24:15;;7222:217::o;6766:395::-;6846:13;6862:23;6877:7;6862:14;:23::i;:::-;6846:39;;6909:5;-1:-1:-1;;;;;6903:11:15;:2;-1:-1:-1;;;;;6903:11:15;;;6895:57;;;;-1:-1:-1;;;6895:57:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6987:5;-1:-1:-1;;;;;6971:21:15;:12;:10;:12::i;:::-;-1:-1:-1;;;;;6971:21:15;;:69;;;;6996:44;7020:5;7027:12;:10;:12::i;:::-;6996:23;:44::i;:::-;6963:159;;;;-1:-1:-1;;;6963:159:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7133:21;7142:2;7146:7;7133:8;:21::i;:::-;6766:395;;;:::o;2622:465:8:-;2686:7;2695;2704;2713;2722:13;2737;2752;2767:7;2785:16;2803;672:5:9;;;;;;;;;-1:-1:-1;;;;;672:5:9;-1:-1:-1;;;;;658:19:9;:10;-1:-1:-1;;;;;658:19:9;;650:28;;;;;;2832:16:8::1;;:::i;:::-;2851:14;::::0;;;:5:::1;:14;::::0;;;;;;;;2832:33;;::::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;;;;;;;;;;;;2851:14;;2832:33;;;;;;;::::1;::::0;;;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;;-1:-1:-1;;;;;2832:33:8::1;::::0;;;;;::::1;::::0;::::1;;::::0;;::::1;;;;-1:-1:-1::0;;;2832:33:8;;;-1:-1:-1;;2832:33:8::1;::::0;::::1;::::0;::::1;::::0;;::::1;::::0;;;;::::1;::::0;::::1;::::0;;;;;::::1;;-1:-1:-1::0;;2832:33:8::1;;::::0;::::1;;;::::0;;;::::1;::::0;;;::::1;::::0;;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;;;;;::::1;::::0;;;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;2832:33:8;;;-1:-1:-1;;2832:33:8::1;::::0;::::1;::::0;;::::1;::::0;;::::1;;;::::0;::::1;;;;-1:-1:-1::0;;2832:33:8;;;::::1;::::0;;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;;;::::1;::::0;;;;::::1;::::0;;;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;2832:33:8;;;-1:-1:-1;;2832:33:8::1;::::0;::::1;::::0;;::::1;::::0;;::::1;;;::::0;::::1;;;;-1:-1:-1::0;;2832:33:8;;;::::1;::::0;;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;;;::::1;::::0;;;;::::1;::::0;;;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;2832:33:8::1;-1:-1:-1::0;;;;;2832:33:8::1;-1:-1:-1::0;;;;;2832:33:8::1;;;::::0;::::1;;;2896:4;:11;;;2909:4;:15;;;2926:4;:17;;;2945:4;:10;;;2957:4;:10;;;2969:4;:9;;;2980:4;:13;;;2995:4;:10;;;3019:4;:30;;;3051:4;:28;;;2875:205;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2622:465:::0;;;;;;;;;;;:::o;2145:117::-;672:5:9;;-1:-1:-1;;;;;672:5:9;658:10;:19;650:28;;;;;;2229:26:8::1;2242:7;2251:3;2229:12;:26::i;:::-;2145:117:::0;;:::o;6260:208:15:-;6321:7;6440:21;:12;:19;:21::i;:::-;6433:28;;6260:208;:::o;4197:1348:8:-;672:5:9;;-1:-1:-1;;;;;672:5:9;658:10;:19;650:28;;;;;;4570:25:8::1;:32;4536:23;:30;:66;4528:120;;;;-1:-1:-1::0;;;4528:120:8::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4658:17;::::0;4689:122:::1;4709:25;:32;4705:1;:36;4689:122;;;4774:23;4798:1;4774:26;;;;;;;;;;;;;;4761:39;;;;4743:3;;;;;;;4689:122;;;;4828:9;4841:3;4828:16;4820:64;;;;-1:-1:-1::0;;;4820:64:8::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4895:16;;:::i;:::-;4914:5;:22;4920:15;;4914:22;;;;;;;;;;;4895:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;;-1:-1:-1;;;;;4895:41:8::1;::::0;;;;;::::1;::::0;::::1;;::::0;;::::1;;;;-1:-1:-1::0;;;4895:41:8;;;-1:-1:-1;;4895:41:8::1;::::0;::::1;::::0;::::1;::::0;;::::1;::::0;;;;::::1;::::0;::::1;::::0;;;;;::::1;;-1:-1:-1::0;;4895:41:8::1;;::::0;::::1;;;::::0;;;::::1;::::0;;;::::1;::::0;;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;;;;;::::1;::::0;;;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;4895:41:8;;;-1:-1:-1;;4895:41:8::1;::::0;::::1;::::0;;::::1;::::0;;::::1;;;::::0;::::1;;;;-1:-1:-1::0;;4895:41:8;;;::::1;::::0;;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;;;::::1;::::0;;;;::::1;::::0;;;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;4895:41:8;;;-1:-1:-1;;4895:41:8::1;::::0;::::1;::::0;;::::1;::::0;;::::1;;;::::0;::::1;;;;-1:-1:-1::0;;4895:41:8;;;::::1;::::0;;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;;;::::1;::::0;;;;::::1;::::0;;;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;4895:41:8;;;-1:-1:-1;;4895:41:8::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;4895:41:8::1;;::::0;;::::1;::::0;4960:15:::1;::::0;4946:29;;4985:15:::1;::::0;;::::1;:28:::0;;;5023:14;;::::1;:26:::0;;;5059:14:::1;::::0;::::1;:26:::0;;;5115:9:::1;::::0;5095:17:::1;::::0;::::1;:29:::0;5134:10:::1;::::0;::::1;:18:::0;;;4895:41:::1;5162:10:::0;::::1;:18:::0;;;5190:9:::1;::::0;::::1;:16:::0;;;5216:30:::1;::::0;::::1;:58:::0;;;5284:28:::1;::::0;::::1;:54:::0;;;5348:13:::1;::::0;::::1;:24:::0;;;5388:62;;;4895:41;;-1:-1:-1;5202:4:8;;5388:62;;;;;;::::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;365:33:::0;;5388:62:8::1;::::0;;;;::::1;::::0;;::::1;::::0;;;;;;-1:-1:-1;5388:62:8;;-1:-1:-1;5388:62:8;;;;-1:-1:-1;5388:62:8;::::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;365:33:::0;;5388:62:8::1;::::0;;;;::::1;::::0;;::::1;::::0;;;;;;-1:-1:-1;5388:62:8;;-1:-1:-1;5388:62:8;;;;-1:-1:-1;5388:62:8;::::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;;;5388:62:8;;;;;;;;;;;;;;;;;5400:15;;5417:9;5388:62;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;5472:9:8::1;::::0;;:21;;::::1;5460:33:::0;;;-1:-1:-1;;5521:15:8::1;::::0;;-1:-1:-1;5521:17:8::1;5503:35:::0;;-1:-1:-1;;;;;;4197:1348:8:o;442:65::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;984:40::-;;;;:::o;8086:300:15:-;8245:41;8264:12;:10;:12::i;:::-;8278:7;8245:18;:41::i;:::-;8237:103;;;;-1:-1:-1;;;8237:103:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8351:28;8361:4;8367:2;8371:7;8351:9;:28::i;7097:118:8:-;672:5:9;;-1:-1:-1;;;;;672:5:9;658:10;:19;650:28;;;;;;7178:14:8::1;:30:::0;;-1:-1:-1;;;;;;7178:30:8::1;-1:-1:-1::0;;;;;7178:30:8;;;::::1;::::0;;;::::1;::::0;;7097:118::o;2482:134::-;-1:-1:-1;;;;;2581:28:8;;;;;;:18;:28;;;;;;;;;2574:35;;;;;;;;;;;;;;;;;2546:16;;2574:35;;;2581:28;2574:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2482:134;;;:::o;6029:160:15:-;-1:-1:-1;;;;;6152:20:15;;6126:7;6152:20;;;:13;:20;;;;;:30;;6176:5;6152:30;:23;:30;:::i;:::-;6145:37;;6029:160;;;;;:::o;6095:451:8:-;672:5:9;;-1:-1:-1;;;;;672:5:9;658:10;:19;650:28;;;;;;6287:14:8::1;::::0;;;:5:::1;:14;::::0;;;;:24:::1;;::::0;6269:15:::1;:42;6261:75;;;::::0;;-1:-1:-1;;;6261:75:8;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;6261:75:8;;;;;;;;;;;;;::::1;;6346:14;::::0;;;:5:::1;:14;::::0;;;;;;;:24:::1;::::0;::::1;:37:::0;;;6393:28;;::::1;::::0;:20:::1;::::0;;::::1;::::0;:28;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;6431:14:8::1;::::0;;;:5:::1;:14;::::0;;;;;;;:34;;::::1;::::0;:23:::1;::::0;;::::1;::::0;:34;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;6475:14:8::1;::::0;;;:5:::1;:14;::::0;;;;;;;:26;;::::1;::::0;:19:::1;::::0;;::::1;::::0;:26;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;6511:14:8::1;::::0;;;:5:::1;:14;::::0;;;;;:20:::1;;:28:::0;;;;-1:-1:-1;;;;6095:451:8:o;8452:149:15:-;8555:39;8572:4;8578:2;8582:7;8555:39;;;;;;;;;;;;:16;:39::i;2372:100:8:-;2426:4;2449:16;2457:7;2449;:16::i;6540:169:15:-;6615:7;;6656:22;:12;6672:5;6656:22;:15;:22;:::i;:::-;-1:-1:-1;6634:44:15;6540:169;-1:-1:-1;;;6540:169:15:o;2268:97:8:-;672:5:9;;-1:-1:-1;;;;;672:5:9;658:10;:19;650:28;;;;;;2338:20:8::1;2350:7;2338:11;:20::i;:::-;2268:97:::0;:::o;7221:185::-;672:5:9;;-1:-1:-1;;;;;672:5:9;658:10;:19;650:28;;;;;;7314:21:8::1;:32:::0;7221:185::o;4280:175:15:-;4352:7;4378:70;4395:7;4378:70;;;;;;;;;;;;;;;;;:12;;:70;;:16;:70;:::i;288:27:8:-;;;-1:-1:-1;;;;;288:27:8;;:::o;5855:95:15:-;5935:8;5928:15;;;;;;;;-1:-1:-1;;5928:15:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5903:13;;5928:15;;5935:8;;5928:15;;5935:8;5928:15;;;;;;;;;;;;;;;;;;;;;;;;668:34:8;;;;:::o;4005:218:15:-;4077:7;-1:-1:-1;;;;;4104:19:15;;4096:74;;;;-1:-1:-1;;;4096:74:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4187:20:15;;;;;;:13;:20;;;;;:29;;:27;:29::i;3093:173:8:-;3152:7;3178:81;3237:21;;3178:54;3206:14;;;;;;;;;-1:-1:-1;;;;;3206:14:8;-1:-1:-1;;;;;3206:23:8;;:25;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3206:25:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3206:25:8;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3206:25:8;3178:13;;;;:5;3206:25;3178:13;;;;:19;;;;3202:29;;;;:2;:29;3178:54;;:23;:54;:::i;:::-;:58;:81;:58;:81;:::i;239:20:9:-;;;-1:-1:-1;;;;;239:20:9;;:::o;4679:102:15:-;4767:7;4760:14;;;;;;;;-1:-1:-1;;4760:14:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4735:13;;4760:14;;4767:7;;4760:14;;4767:7;4760:14;;;;;;;;;;;;;;;;;;;;;;;;6769:322:8;6845:10;6831:25;;;;:13;:25;;;;;;;;:40;;;;;;;;;;;6823:103;;;;-1:-1:-1;;;6823:103:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6945:28;;;;:13;:28;;;;;;;;6944:29;6936:56;;;;;-1:-1:-1;;;6936:56:8;;;;;;;;;;;;-1:-1:-1;;;6936:56:8;;;;;;;;;;;;;;;7003:28;;;;:13;:28;;;;;:35;;-1:-1:-1;;7003:35:8;7034:4;7003:35;;;7048:36;7058:10;7017:13;7048:9;:36::i;7506:290:15:-;7620:12;:10;:12::i;:::-;-1:-1:-1;;;;;7608:24:15;:8;-1:-1:-1;;;;;7608:24:15;;;7600:62;;;;;-1:-1:-1;;;7600:62:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;7718:8;7673:18;:32;7692:12;:10;:12::i;:::-;-1:-1:-1;;;;;7673:32:15;;;;;;;;;;;;;;;;;-1:-1:-1;7673:32:15;;;:42;;;;;;;;;;;;:53;;-1:-1:-1;;7673:53:15;;;;;;;;;;;7756:12;:10;:12::i;:::-;7741:48;;;;;;;;;;-1:-1:-1;;;;;7741:48:15;;;;;;;;;;;;;;7506:290;;:::o;7482:67:8:-;672:5:9;;-1:-1:-1;;;;;672:5:9;658:10;:19;650:28;;;;;;7527:7:8::1;:15:::0;;-1:-1:-1;;7527:15:8::1;::::0;;7482:67::o;574:45::-;;;;;;;;;;;;;;;:::o;625:37::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;625:37:8;;;;;;;;;;;;;;;;-1:-1:-1;;625:37:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;625:37:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;625:37:8;;;;;;;;;;;;;;;;-1:-1:-1;;625:37:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;625:37:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;625:37:8;;;;;;;-1:-1:-1;;;;;;;625:37:8;;:::o;8667:282:15:-;8798:41;8817:12;:10;:12::i;:::-;8831:7;8798:18;:41::i;:::-;8790:103;;;;-1:-1:-1;;;8790:103:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5058:19;;;;:10;:19;;;;;;;;;5032:45;;;;;;-1:-1:-1;;5032:45:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;: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:15;-1:-1:-1;5229:16:15;;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::15;;;;;;;;;;-1:-1:-1;5415:33:15;;;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:15;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;5415:33:15;;;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:15;;;;;;;;;;-1:-1:-1;5573:42:15;;;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:15;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;5573:42:15;;;5559:57;;;;4847:776;;;:::o;3272:919:8:-;3331:7;;;;3330:8;3322:37;;;;;-1:-1:-1;;;3322:37:8;;;;;;;;;;;;-1:-1:-1;;;3322:37:8;;;;;;;;;;;;;;;3408:1;3377:13;;;:5;:13;;;;;:19;;;-1:-1:-1;;;;;3377:19:8;3369:69;;;;;-1:-1:-1;;;3369:69:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;3456:13;;;;:5;:13;;;;;:19;;;3448:54;;;;;-1:-1:-1;;;3448:54:8;;;;;;;;;;;;-1:-1:-1;;;3448:54:8;;;;;;;;;;;;;;;3543:21;;3520:13;;;;:5;:13;;;;;:19;;;:44;;3512:118;;;;-1:-1:-1;;;3512:118:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3641:13;3657:25;3675:6;3657:17;:25::i;:::-;3701:14;;:51;;;-1:-1:-1;;;3701:51:8;;3726:10;3701:51;;;;3746:4;3701:51;;;;;;3641:41;;-1:-1:-1;3641:41:8;;-1:-1:-1;;;;;3701:14:8;;;;:24;;:51;;;;;;;;;;;;;;;:14;:51;;;5:2:-1;;;;30:1;27;20:12;5:2;3701:51:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3701:51:8;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3701:51:8;:60;;3693:98;;;;;-1:-1:-1;;;3693:98:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;3817:10;3838:42;3817:10;3866:6;3874:5;3838:21;:42::i;:::-;3891:12;:17;;3907:1;3891:17;;;:12;3919:188;3939:13;;;;:5;:13;;;;;:23;;;3935:27;;3919:188;;;3996:10;3982:25;;;;:13;:25;;;;;;;;4008:13;;;:5;:13;;;;;:26;;;:28;;3982:55;;;;;;;:62;;-1:-1:-1;;3982:62:8;4040:4;3982:62;;;;;;4058:30;;;:18;:30;;;;27:10:-1;;23:18;;;45:23;;4058:38:8;;;;;;;;;3964:3;3919:188;;;-1:-1:-1;4117:13:8;;;;:5;:13;;;;;;:19;;:26;;-1:-1:-1;;;;;;4117:26:8;-1:-1:-1;;;;;4117:26:8;;;;;;;;4159:24;;4117:13;;4159:24;;;3272:919;;;:::o;1031:27::-;;;;;;:::o;708:28::-;;;;:::o;7862:162:15:-;-1:-1:-1;;;;;7982:25:15;;;7959:4;7982:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;7862:162::o;1064:31:8:-;;;;:::o;5552:537::-;672:5:9;;-1:-1:-1;;;;;672:5:9;658:10;:19;650:28;;;;;;5648:13:8::1;::::0;;;:5:::1;:13;::::0;;;;:20;:30;::::1;5640:62;;;::::0;;-1:-1:-1;;;5640:62:8;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;5640:62:8;;;;;;;;;;;;;::::1;;5712:16;;:::i;:::-;5731:13;::::0;;;:5:::1;:13;::::0;;;;;;;;5712: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;::::1;::::0;;;;;;::::1;::::0;;;;;;;;;;;;5731:13;;5712:32;;;;;;;::::1;::::0;;;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;;-1:-1:-1;;;;;5712:32:8::1;::::0;;;;;::::1;::::0;::::1;;::::0;;::::1;;;;-1:-1:-1::0;;;5712:32:8;;;-1:-1:-1;;5712:32:8::1;::::0;::::1;::::0;::::1;::::0;;::::1;::::0;;;;::::1;::::0;::::1;::::0;;;;;::::1;;-1:-1:-1::0;;5712:32:8::1;;::::0;::::1;;;::::0;;;::::1;::::0;;;::::1;::::0;;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;;;;;::::1;::::0;;;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;5712:32:8;;;-1:-1:-1;;5712:32:8::1;::::0;::::1;::::0;;::::1;::::0;;::::1;;;::::0;::::1;;;;-1:-1:-1::0;;5712:32:8;;;::::1;::::0;;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;;;::::1;::::0;;;;::::1;::::0;;;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;5712:32:8;;;-1:-1:-1;;5712:32:8::1;::::0;::::1;::::0;;::::1;::::0;;::::1;;;::::0;::::1;;;;-1:-1:-1::0;;5712:32:8;;;::::1;::::0;;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;;;::::1;::::0;;;;::::1;::::0;;;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;5712:32:8;;;-1:-1:-1;;5712:32:8::1;::::0;;::::1;::::0;-1:-1:-1;;;;;5712:32:8;;::::1;;::::0;;::::1;::::0;-1:-1:-1;5754:13:8;;;:5:::1;:13:::0;;;;;;:19;;::::1;:38:::0;;-1:-1:-1;;;;;;5754:38:8::1;::::0;;::::1;::::0;;;::::1;::::0;;;5803:12:::1;:17:::0;;-1:-1:-1;5803:17:8::1;::::0;;5712:32;;-1:-1:-1;5831:200:8::1;5851:13;::::0;;;:5:::1;:13;::::0;;;;:23:::1;;::::0;5847:27;::::1;5831:200;;;-1:-1:-1::0;;;;;5894:31:8;::::1;;::::0;;;:13:::1;:31;::::0;;;;;;;5926:13;;;:5:::1;:13:::0;;;;;:26:::1;;::::0;:28;::::1;5894:61:::0;;;;;;;:68;;-1:-1:-1;;5894:68:8::1;5958:4;5894:68:::0;;::::1;::::0;;;5976:36;;;:18:::1;:36:::0;;;;27:10:-1;;23:18;;::::1;45:23:::0;;5976:44:8;;;;;::::1;::::0;;;5876:3:::1;5831:200;;;-1:-1:-1::0;6046:36:8::1;::::0;6075:6;;-1:-1:-1;;;;;6046:36:8;::::1;::::0;::::1;::::0;;;::::1;688:1:9;5552:537:8::0;;:::o;6552:211::-;672:5:9;;-1:-1:-1;;;;;672:5:9;658:10;:19;650:28;;;;;;6645:13:8::1;::::0;;;:5:::1;:13;::::0;;;;:23:::1;;::::0;6627:15:::1;:41;6619:74;;;::::0;;-1:-1:-1;;;6619:74:8;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;6619:74:8;;;;;;;;;;;;;::::1;;6710:13;::::0;;;:5:::1;:13;::::0;;;;6703:20;;;::::1;::::0;::::1;::::0;;;::::1;::::0;::::1;::::0;;;::::1;::::0;::::1;::::0;;;::::1;::::0;::::1;::::0;;;6710:13;6703:20:::1;;::::0;::::1;6710:13:::0;6703:20:::1;:::i;:::-;;;::::0;::::1;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;::::0;::::1;;;:::i;:::-;;;::::0;::::1;;;:::i;:::-;-1:-1:-1::0;6703:20:8::1;;::::0;;-1:-1:-1;;;;;;6703:20:8::1;::::0;;6738:18:::1;::::0;6749:6;;6738:18:::1;::::0;6703:20:::1;::::0;6738:18:::1;6552:211:::0;:::o;864:188:9:-;672:5;;-1:-1:-1;;;;;672:5:9;658:10;:19;650:28;;;;;;-1:-1:-1;;;;;944:22:9;::::1;936:31;;;::::0;::::1;;1003:5;::::0;;982:37:::1;::::0;-1:-1:-1;;;;;982:37:9;;::::1;::::0;1003:5;::::1;::::0;982:37:::1;::::0;::::1;1029:5;:16:::0;;-1:-1:-1;;;;;;1029:16:9::1;-1:-1:-1::0;;;;;1029:16:9;;;::::1;::::0;;;::::1;::::0;;864:188::o;7412:64:8:-;672:5:9;;-1:-1:-1;;;;;672:5:9;658:10;:19;650:28;;;;;;7455:7:8::1;:14:::0;;-1:-1:-1;;7455:14:8::1;7465:4;7455:14;::::0;;7412:64::o;10383:125:15:-;10448:4;10471:30;:12;10493:7;10471:30;:21;:30;:::i;598:104:21:-;685:10;598:104;:::o;16225:189:15:-;16299:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;16299:29:15;-1:-1:-1;;;;;16299:29:15;;;;;;;;:24;;16352:23;16299:24;16352:14;:23::i;:::-;-1:-1:-1;;;;;16343:46:15;;;;;;;;;;;16225:189;;:::o;14438:212::-;14537:16;14545:7;14537;:16::i;:::-;14529:73;;;;-1:-1:-1;;;14529:73:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14612:19;;;;:10;:19;;;;;;;;:31;;;;;;;;:::i;7820:121:22:-;7889:7;7915:19;7923:3;7915:7;:19::i;10666:351:15:-;10759:4;10783:16;10791:7;10783;:16::i;:::-;10775:73;;;;-1:-1:-1;;;10775:73:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10858:13;10874:23;10889:7;10874:14;:23::i;:::-;10858:39;;10926:5;-1:-1:-1;;;;;10915:16:15;:7;-1:-1:-1;;;;;10915:16:15;;:51;;;;10959:7;-1:-1:-1;;;;;10935:31:15;:20;10947:7;10935:11;:20::i;:::-;-1:-1:-1;;;;;10935:31:15;;10915:51;:94;;;;10970:39;10994:5;11001:7;10970:23;:39::i;:::-;10907:103;10666:351;-1:-1:-1;;;;10666:351:15:o;13707:584::-;13831:4;-1:-1:-1;;;;;13804:31:15;:23;13819:7;13804:14;:23::i;:::-;-1:-1:-1;;;;;13804:31:15;;13796:85;;;;-1:-1:-1;;;13796:85:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13917:16:15;;13909:65;;;;-1:-1:-1;;;13909:65:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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:15;;;;;;:13;:19;;;;;:35;;14153:7;14126:35;:26;:35;:::i;:::-;-1:-1:-1;;;;;;14171:17:15;;;;;;:13;:17;;;;;:30;;14193:7;14171:30;:21;:30;:::i;:::-;-1:-1:-1;14212:29:15;:12;14229:7;14238:2;14212:29;:16;:29;:::i;:::-;;14276:7;14272:2;-1:-1:-1;;;;;14257:27:15;14266:4;-1:-1:-1;;;;;14257:27:15;;;;;;;;;;;13707:584;;;:::o;9250:135:23:-;9321:7;9355:22;9359:3;9371:5;9355:3;:22::i;8269:233:22:-;8349:7;;;;8408:22;8412:3;8424:5;8408:3;:22::i;:::-;8377:53;;;;-1:-1:-1;8269:233:22;-1:-1:-1;;;;;8269:233:22:o;14873:98:15:-;14945:19;;;;:8;;:19;;;;;:::i;9522:211:22:-;9629:7;9679:44;9684:3;9704;9710:12;9679:4;:44::i;:::-;9671:53;-1:-1:-1;9522:211:22;;;;;;:::o;3538:215:12:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:12;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4217:150;4275:7;4306:1;4302;:5;4294:44;;;;;-1:-1:-1;;;4294:44:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:12:o;11348:108:15:-;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:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;210:725:25;266:13;483:10;479:51;;-1:-1:-1;509:10:25;;;;;;;;;;;;-1:-1:-1;;;509:10:25;;;;;;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:25;87:34:-1;135:17;;-1:-1;699:17:25;-1:-1:-1;769:5:25;;-1:-1:-1;677:39:25;-1:-1:-1;;;742:10:25;;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:25;;;;;;;;-1:-1:-1;885:2:25;877:10;;;;784:114;;;-1:-1:-1;921:6:25;210:725;-1:-1:-1;;;;210:725:25:o;1655:483:8:-;1783:16;;:::i;:::-;1802:13;;;;:5;:13;;;;;;;;;1783:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1802:13;;1783:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1783:32:8;;;;;;;;;;;;;;;;-1:-1:-1;;;1783:32:8;;;-1:-1:-1;;1783:32:8;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1783:32:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1783:32:8;;;-1:-1:-1;;1783:32:8;;;;;;;;;;;;;;;;-1:-1:-1;;1783:32:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1783:32:8;;;-1:-1:-1;;1783:32:8;;;;;;;;;;;;;;;;-1:-1:-1;;1783:32:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1783:32:8;;;-1:-1:-1;;1783:32:8;;;;;;-1:-1:-1;;;;;1783:32:8;;;;;;;-1:-1:-1;1783:32:8;1826:306;1846:4;:30;;;:37;1842:1;:41;1826:306;;;1941:14;;2008:30;;;;:33;;-1:-1:-1;;;;;1941:14:8;;;;:27;;1986:4;;2039:1;;2008:33;;;;;;;;;;;;2104:3;2094:6;2060:4;:28;;;2089:1;2060:31;;;;;;;;;;;;;;:40;2059:48;;;;;;1941:180;;;;;;;;;;;;;-1:-1:-1;;;;;1941:180:8;-1:-1:-1;;;;;1941:180:8;;;;;;-1:-1:-1;;;;;1941:180:8;-1:-1:-1;;;;;1941:180:8;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1941:180:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1941:180:8;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;1885:3:8;;1826:306;;;;1655:483;;;;:::o;7588:149:22:-;7672:4;7695:35;7705:3;7725;7695:9;:35::i;4491:108::-;4573:19;;4491:108::o;8365:135:23:-;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:22:-;7116:4;7139:64;7144:3;7164;-1:-1:-1;;;;;7178:23:22;;7139:4;:64::i;4452:201:23:-;4546:18;;4519:7;;4546:26;-1:-1:-1;4538:73:23;;;;-1:-1:-1;;;4538:73:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4628:3;:11;;4640:5;4628:18;;;;;;;;;;;;;;;;4621:25;;4452:201;;;;:::o;4942:274:22:-;5045:19;;5009:7;;;;5045:27;-1:-1:-1;5037:74:22;;;;-1:-1:-1;;;5037:74:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6651:3;:12;;6675:1;6664:8;:12;6651:26;;;;;;;;;;;;;;;;;;:33;;;6644:40;;;6403:315;;;;;:::o;11677:247:15:-;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:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15524:589;15644:4;15669:15;:2;-1:-1:-1;;;;;15669:13:15;;:15::i;:::-;15664:58;;-1:-1:-1;15707:4:15;15700:11;;15664:58;15731:23;15757:246;-1:-1:-1;;;15868:12:15;:10;:12::i;:::-;15894:4;15912:7;15933:5;15773:175;;;;;;-1:-1:-1;;;;;15773:175:15;-1:-1:-1;;;;;15773:175:15;;;;;;-1:-1:-1;;;;;15773:175:15;-1:-1:-1;;;;;15773:175:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;15773:175:15;;;;-1:-1:-1;;;;;15773:175:15;;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:15;15757:246;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15757:15:15;;;: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:15;-1:-1:-1;;;;;;16079:26:15;-1:-1:-1;;;16079:26:15;;-1:-1:-1;;;15524:589:15;;;;;;:::o;4278:123:22:-;4349:4;4372:17;;;:12;;;;;:17;;;;;;:22;;;4278:123::o;2212:1512:23:-;2278:4;2415:19;;;:12;;;:19;;;;;;2449:15;;2445:1273;;2878:18;;-1:-1:-1;;2830:14:23;;;;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:23;:23;;;;;;;;;;;;;1941:18;;1919:19;;;:12;;;:19;;;;;;:40;;;;1973:11;;1719:319;-1:-1:-1;2022:5:23;2015:12;;1836:678:22;1912:4;2045:17;;;:12;;;:17;;;;;;2077:13;2073:435;;-1:-1:-1;;2161:38:22;;;;;;;;;;;;;;;;;;27:10:-1;;39:1;23:18;;;45:23;;2143:12:22;: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:15;-1:-1:-1;;;;;12325:16:15;;12317:61;;;;;-1:-1:-1;;;12317:61:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12397:16;12405:7;12397;:16::i;:::-;12396:17;12388:58;;;;;-1:-1:-1;;;12388:58:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;12457:45;12486:1;12490:2;12494:7;12457:20;:45::i;:::-;-1:-1:-1;;;;;12513:17:15;;;;;;:13;:17;;;;;:30;;12535:7;12513:30;:21;:30;:::i;:::-;-1:-1:-1;12554:29:15;:12;12571:7;12580:2;12554:29;:16;:29;:::i;:::-;-1:-1:-1;12599:33:15;;12624:7;;-1:-1:-1;;;;;12599:33:15;;;12616:1;;12599:33;;12616:1;;12599:33;12246:393;;:::o;726:413:20:-;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:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:20;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:20;;;;;;;;;;;;;;;;;;;;;;;;;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:20;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:20:o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:20;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:20;;;;;;;;;;;;;;;;;7772:12;;7765:20;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;205:7346:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;205:7346:8;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;205:7346:8;;;-1:-1:-1;205:7346:8;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", - "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 mapping(uint256 => Pack) public packs;\n uint256 public packIncrementId = 0;\n uint256 public lastNFTID = 0;\n\n event PackCreated(uint256 packId, uint256 nftsAmount, string indexed serie, string indexed packType, string indexed drop);\n event PackOpened(address indexed by, uint256 indexed packId);\n event PackDelete(uint256 indexed packId);\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 packNumber;\n uint256 initialNFTId;\n uint256 saleStart;\n uint256[] saleDistributionAmounts;\n address[] saleDistributionAddresses;\n // Catalog info\n uint256 price; // in usd (1 = $0.000001)\n string serie;\n string drop;\n string packType;\n //external info\n address buyer;\n }\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\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 onlyOwner returns (uint256, uint256, uint256, uint256, string memory, string memory, string memory, address, \n address[] memory, uint256[] memory) {\n Pack memory pack = packs[_packId];\n return (\n pack.packId, pack.packNumber, pack.initialNFTId, pack.price, pack.serie, pack.drop, pack.packType, pack.buyer,\n pack.saleDistributionAddresses, pack.saleDistributionAmounts);\n }\n\n function getPackPriceInFVR(uint256 packId) public returns (uint256) {\n return packs[packId].price.mul(10**_purchaseToken.decimals()).div(_realFvrTokenPriceUSD);\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 require(packs[packId].price >= _realFvrTokenPriceUSD, \"Price in realFvr has to be higher than unit price of the pack\");\n\n uint256 price = getPackPriceInFVR(packId);\n\n require(_purchaseToken.allowance(msg.sender, address(this)) >= price, \"Not enough money per pack\");\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 PackOpened(from, packId);\n\n }\n\n function createPack(uint256 packNumber, uint256 nftAmount, uint256 price /* 1 = ($0.000001) */, \n string memory serie, string memory packType, string memory drop, uint256 saleStart,\n address[] memory saleDistributionAddresses, uint256[] memory saleDistributionAmounts /* [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 Pack memory pack = packs[packIncrementId];\n pack.packId = packIncrementId;\n pack.packNumber = packNumber;\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\n emit PackCreated(packIncrementId, nftAmount, 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\n emit PackOpened(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 }\n\n function setPurchaseTokenAddress(ERC20 purchaseToken) public onlyOwner {\n _purchaseToken = purchaseToken;\n }\n\n function setTokenPriceInUSD(uint256 newPrice /* 1 = $0.000001 */) public onlyOwner {\n _realFvrTokenPriceUSD = newPrice; // 1/10**18 Real Fvr ( 0.00(16)1 FVR) = 1000000 ($1)\n }\n\n function lock() public onlyOwner {\n _closed = true;\n }\n\n function unlock() public onlyOwner {\n _closed = false;\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": [ - 7124 - ] - }, - "id": 7125, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 6296, - "literals": [ - "solidity", - ">=", - "0.6", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:24:8" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC721/ERC721.sol", - "file": "@openzeppelin/contracts/token/ERC721/ERC721.sol", - "id": 6297, - "nodeType": "ImportDirective", - "scope": 7125, - "sourceUnit": 9052, - "src": "59:57:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "file": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "id": 6298, - "nodeType": "ImportDirective", - "scope": 7125, - "sourceUnit": 8070, - "src": "117:55:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Ownable.sol", - "file": "../utils/Ownable.sol", - "id": 6299, - "nodeType": "ImportDirective", - "scope": 7125, - "sourceUnit": 7182, - "src": "173:30:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 6300, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7181, - "src": "232:7:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$7181", - "typeString": "contract Ownable" - } - }, - "id": 6301, - "nodeType": "InheritanceSpecifier", - "src": "232:7:8" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 6302, - "name": "ERC721", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9051, - "src": "241:6:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721_$9051", - "typeString": "contract ERC721" - } - }, - "id": 6303, - "nodeType": "InheritanceSpecifier", - "src": "241:6:8" - } - ], - "contractDependencies": [ - 7181, - 7234, - 7244, - 9051, - 9154, - 9181, - 9204, - 9528 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 7124, - "linearizedBaseContracts": [ - 7124, - 9051, - 9181, - 9204, - 9154, - 7234, - 7244, - 9528, - 7181 - ], - "name": "OpenerRealFvr", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 6306, - "libraryName": { - "contractScope": null, - "id": 6304, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7585, - "src": "261:8:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$7585", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "255:27:8", - "typeName": { - "id": 6305, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "274:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "functionSelector": "69c7d8a3", - "id": 6308, - "name": "_purchaseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7124, - "src": "288:27:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 6307, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8069, - "src": "288:5:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "1e14a533", - "id": 6314, - "name": "registeredIDs", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7124, - "src": "442:65:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_bool_$_$", - "typeString": "mapping(address => mapping(uint256 => bool))" - }, - "typeName": { - "id": 6313, - "keyType": { - "id": 6309, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "450:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "442:44:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_bool_$_$", - "typeString": "mapping(address => mapping(uint256 => bool))" - }, - "valueType": { - "id": 6312, - "keyType": { - "id": 6310, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "469:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "461:24:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - }, - "valueType": { - "id": 6311, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "480:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "01d243a6", - "id": 6319, - "name": "registeredIDsArray", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7124, - "src": "513:55:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[])" - }, - "typeName": { - "id": 6318, - "keyType": { - "id": 6315, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "521:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "513:29:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[])" - }, - "valueType": { - "baseType": { - "id": 6316, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "532:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6317, - "length": null, - "nodeType": "ArrayTypeName", - "src": "532:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "b7365f1f", - "id": 6323, - "name": "alreadyMinted", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7124, - "src": "574:45:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - }, - "typeName": { - "id": 6322, - "keyType": { - "id": 6320, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "582:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "574:24:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - }, - "valueType": { - "id": 6321, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "593:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "b84c1392", - "id": 6327, - "name": "packs", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7124, - "src": "625:37:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$6391_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack)" - }, - "typeName": { - "id": 6326, - "keyType": { - "id": 6324, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "633:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "625:24:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$6391_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack)" - }, - "valueType": { - "contractScope": null, - "id": 6325, - "name": "Pack", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6391, - "src": "644:4:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_storage_ptr", - "typeString": "struct OpenerRealFvr.Pack" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "6fcbc6ed", - "id": 6330, - "name": "packIncrementId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7124, - "src": "668:34:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6328, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "668:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 6329, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "701:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "e6416503", - "id": 6333, - "name": "lastNFTID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7124, - "src": "708:28:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6331, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "708:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 6332, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "735:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 6345, - "name": "PackCreated", - "nodeType": "EventDefinition", - "parameters": { - "id": 6344, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6335, - "indexed": false, - "name": "packId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6345, - "src": "761:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6334, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "761:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6337, - "indexed": false, - "name": "nftsAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6345, - "src": "777:19:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6336, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "777:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6339, - "indexed": true, - "name": "serie", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6345, - "src": "798:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 6338, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "798:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6341, - "indexed": true, - "name": "packType", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6345, - "src": "820:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 6340, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "820:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6343, - "indexed": true, - "name": "drop", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6345, - "src": "845:19:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 6342, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "845:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "760:105:8" - }, - "src": "743:123:8" - }, - { - "anonymous": false, - "documentation": null, - "id": 6351, - "name": "PackOpened", - "nodeType": "EventDefinition", - "parameters": { - "id": 6350, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6347, - "indexed": true, - "name": "by", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6351, - "src": "888:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6346, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "888:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6349, - "indexed": true, - "name": "packId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6351, - "src": "908:22:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6348, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "908:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "887:44:8" - }, - "src": "871:61:8" - }, - { - "anonymous": false, - "documentation": null, - "id": 6355, - "name": "PackDelete", - "nodeType": "EventDefinition", - "parameters": { - "id": 6354, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6353, - "indexed": true, - "name": "packId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6355, - "src": "954:22:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6352, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "954:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "953:24:8" - }, - "src": "937:41:8" - }, - { - "constant": false, - "functionSelector": "1eae8636", - "id": 6358, - "name": "_realFvrTokenPriceUSD", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7124, - "src": "984:40:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6356, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "984:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 6357, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1023:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "dd7c5e54", - "id": 6361, - "name": "_closed", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7124, - "src": "1031:27:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6359, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1031:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 6360, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1053:5:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "eb8800d0", - "id": 6364, - "name": "_openedPacks", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7124, - "src": "1064:31:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6362, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1064:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 6363, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1094:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "canonicalName": "OpenerRealFvr.Pack", - "id": 6391, - "members": [ - { - "constant": false, - "id": 6366, - "name": "packId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6391, - "src": "1124:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6365, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1124:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6368, - "name": "nftAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6391, - "src": "1148:17:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6367, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1148:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6370, - "name": "packNumber", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6391, - "src": "1175:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6369, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1175:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6372, - "name": "initialNFTId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6391, - "src": "1203:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6371, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1203:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6374, - "name": "saleStart", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6391, - "src": "1233:17:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6373, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1233:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6377, - "name": "saleDistributionAmounts", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6391, - "src": "1260:33:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 6375, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1260:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6376, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1260:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6380, - "name": "saleDistributionAddresses", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6391, - "src": "1303:35:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 6378, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1303:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6379, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1303:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6382, - "name": "price", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6391, - "src": "1372:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6381, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1372:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6384, - "name": "serie", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6391, - "src": "1421:12:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 6383, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1421:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6386, - "name": "drop", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6391, - "src": "1443:11:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 6385, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1443:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6388, - "name": "packType", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6391, - "src": "1464:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 6387, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1464:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6390, - "name": "buyer", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6391, - "src": "1513:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6389, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1513:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Pack", - "nodeType": "StructDefinition", - "scope": 7124, - "src": "1102:431:8", - "visibility": "public" - }, - { - "body": { - "id": 6404, - "nodeType": "Block", - "src": "1647:2:8", - "statements": [] - }, - "documentation": null, - "id": 6405, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 6400, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6393, - "src": "1633:4:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 6401, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6395, - "src": "1639:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "id": 6402, - "modifierName": { - "argumentTypes": null, - "id": 6399, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9051, - "src": "1626:6:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$9051_$", - "typeString": "type(contract ERC721)" - } - }, - "nodeType": "ModifierInvocation", - "src": "1626:20:8" - } - ], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6398, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6393, - "name": "name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6405, - "src": "1555:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 6392, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1555:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6395, - "name": "symbol", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6405, - "src": "1575:20:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 6394, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1575:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6397, - "name": "_purchaseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6405, - "src": "1597:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 6396, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8069, - "src": "1597:5:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1554:64:8" - }, - "returnParameters": { - "id": 6403, - "nodeType": "ParameterList", - "parameters": [], - "src": "1647:0:8" - }, - "scope": 7124, - "src": "1542:107:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6453, - "nodeType": "Block", - "src": "1741:397:8", - "statements": [ - { - "assignments": [ - 6415 - ], - "declarations": [ - { - "constant": false, - "id": 6415, - "name": "pack", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6453, - "src": "1783:16:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack" - }, - "typeName": { - "contractScope": null, - "id": 6414, - "name": "Pack", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6391, - "src": "1783:4:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_storage_ptr", - "typeString": "struct OpenerRealFvr.Pack" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6419, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6416, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6327, - "src": "1802:5:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$6391_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 6418, - "indexExpression": { - "argumentTypes": null, - "id": 6417, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6409, - "src": "1808:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1802:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1783:32:8" - }, - { - "body": { - "id": 6451, - "nodeType": "Block", - "src": "1889:243:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6435, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6407, - "src": "1986:4:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6436, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6415, - "src": "2008:4:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 6437, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "saleDistributionAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 6380, - "src": "2008:30:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "id": 6439, - "indexExpression": { - "argumentTypes": null, - "id": 6438, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6421, - "src": "2039:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2008:33:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6448, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6445, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6440, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6415, - "src": "2060:4:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 6441, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "saleDistributionAmounts", - "nodeType": "MemberAccess", - "referencedDeclaration": 6377, - "src": "2060:28:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "id": 6443, - "indexExpression": { - "argumentTypes": null, - "id": 6442, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6421, - "src": "2089:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2060:31:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 6444, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6411, - "src": "2094:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2060:40:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6446, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2059:42:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 6447, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2104:3:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "2059:48:8", - "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": 6432, - "name": "_purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6308, - "src": "1941:14:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "typeString": "contract ERC20" - } - }, - "id": 6434, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 7775, - "src": "1941:27: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": 6449, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1941:180:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6450, - "nodeType": "ExpressionStatement", - "src": "1941:180:8" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6424, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6421, - "src": "1842:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6425, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6415, - "src": "1846:4:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 6426, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "saleDistributionAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 6380, - "src": "1846:30:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "id": 6427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1846:37:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1842:41:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6452, - "initializationExpression": { - "assignments": [ - 6421 - ], - "declarations": [ - { - "constant": false, - "id": 6421, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6452, - "src": "1830:6:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6420, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1830:4:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6423, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 6422, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1839:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "1830:10:8" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 6430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "1885:3:8", - "subExpression": { - "argumentTypes": null, - "id": 6429, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6421, - "src": "1885:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6431, - "nodeType": "ExpressionStatement", - "src": "1885:3:8" - }, - "nodeType": "ForStatement", - "src": "1826:306:8" - } - ] - }, - "documentation": null, - "id": 6454, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_distributePackShares", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6412, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6407, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6454, - "src": "1686:12:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6406, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1686:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6409, - "name": "packId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6454, - "src": "1700:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6408, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1700:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6411, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6454, - "src": "1716:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6410, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1716:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1685:46:8" - }, - "returnParameters": { - "id": 6413, - "nodeType": "ParameterList", - "parameters": [], - "src": "1741:0:8" - }, - "scope": 7124, - "src": "1655:483:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 6468, - "nodeType": "Block", - "src": "2219:43:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6464, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6456, - "src": "2242:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6465, - "name": "uri", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6458, - "src": "2251:3:8", - "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": 6463, - "name": "_setTokenURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8950, - "src": "2229:12:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (uint256,string memory)" - } - }, - "id": 6466, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2229:26:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6467, - "nodeType": "ExpressionStatement", - "src": "2229:26:8" - } - ] - }, - "documentation": null, - "functionSelector": "162094c4", - "id": 6469, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6461, - "modifierName": { - "argumentTypes": null, - "id": 6460, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7154, - "src": "2209:9:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2209:9:8" - } - ], - "name": "setTokenURI", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6459, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6456, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6469, - "src": "2166:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6455, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2166:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6458, - "name": "uri", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6469, - "src": "2183:17:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 6457, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2183:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2165:36:8" - }, - "returnParameters": { - "id": 6462, - "nodeType": "ParameterList", - "parameters": [], - "src": "2219:0:8" - }, - "scope": 7124, - "src": "2145:117:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6480, - "nodeType": "Block", - "src": "2328:37:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6477, - "name": "baseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6471, - "src": "2350:7:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 6476, - "name": "_setBaseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8960, - "src": "2338:11:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory)" - } - }, - "id": 6478, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2338:20:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6479, - "nodeType": "ExpressionStatement", - "src": "2338:20:8" - } - ] - }, - "documentation": null, - "functionSelector": "55f804b3", - "id": 6481, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6474, - "modifierName": { - "argumentTypes": null, - "id": 6473, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7154, - "src": "2318:9:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2318:9:8" - } - ], - "name": "setBaseURI", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6472, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6471, - "name": "baseURI", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6481, - "src": "2288:21:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 6470, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2288:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2287:23:8" - }, - "returnParameters": { - "id": 6475, - "nodeType": "ParameterList", - "parameters": [], - "src": "2328:0:8" - }, - "scope": 7124, - "src": "2268:97:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6492, - "nodeType": "Block", - "src": "2432:40:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6489, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6483, - "src": "2457:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6488, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8649, - "src": "2449:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 6490, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2449:16:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 6487, - "id": 6491, - "nodeType": "Return", - "src": "2442:23:8" - } - ] - }, - "documentation": null, - "functionSelector": "4f558e79", - "id": 6493, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "exists", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6484, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6483, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6493, - "src": "2388:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6482, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2388:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2387:17:8" - }, - "returnParameters": { - "id": 6487, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6486, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6493, - "src": "2426:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6485, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2426:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2425:6:8" - }, - "scope": 7124, - "src": "2372:100:8", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6505, - "nodeType": "Block", - "src": "2564:52:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6501, - "name": "registeredIDsArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6319, - "src": "2581:18:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 6503, - "indexExpression": { - "argumentTypes": null, - "id": 6502, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6495, - "src": "2600:8:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2581:28:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "functionReturnParameters": 6500, - "id": 6504, - "nodeType": "Return", - "src": "2574:35:8" - } - ] - }, - "documentation": null, - "functionSelector": "2c686030", - "id": 6506, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getRegisteredIDs", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6496, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6495, - "name": "_address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6506, - "src": "2508:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6494, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2508:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2507:18:8" - }, - "returnParameters": { - "id": 6500, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6499, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6506, - "src": "2546:16:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 6497, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2546:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6498, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2546:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2545:18:8" - }, - "scope": 7124, - "src": "2482:134:8", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6563, - "nodeType": "Block", - "src": "2822:265:8", - "statements": [ - { - "assignments": [ - 6536 - ], - "declarations": [ - { - "constant": false, - "id": 6536, - "name": "pack", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6563, - "src": "2832:16:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack" - }, - "typeName": { - "contractScope": null, - "id": 6535, - "name": "Pack", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6391, - "src": "2832:4:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_storage_ptr", - "typeString": "struct OpenerRealFvr.Pack" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6540, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6537, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6327, - "src": "2851:5:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$6391_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 6539, - "indexExpression": { - "argumentTypes": null, - "id": 6538, - "name": "_packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6508, - "src": "2857:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2851:14:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2832:33:8" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6541, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6536, - "src": "2896:4:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 6542, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "packId", - "nodeType": "MemberAccess", - "referencedDeclaration": 6366, - "src": "2896:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6543, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6536, - "src": "2909:4:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 6544, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "packNumber", - "nodeType": "MemberAccess", - "referencedDeclaration": 6370, - "src": "2909:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6545, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6536, - "src": "2926:4:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 6546, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "initialNFTId", - "nodeType": "MemberAccess", - "referencedDeclaration": 6372, - "src": "2926:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6547, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6536, - "src": "2945:4:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 6548, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 6382, - "src": "2945:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6549, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6536, - "src": "2957:4:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 6550, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "serie", - "nodeType": "MemberAccess", - "referencedDeclaration": 6384, - "src": "2957:10:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6551, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6536, - "src": "2969:4:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 6552, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "drop", - "nodeType": "MemberAccess", - "referencedDeclaration": 6386, - "src": "2969:9:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6553, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6536, - "src": "2980:4:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 6554, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "packType", - "nodeType": "MemberAccess", - "referencedDeclaration": 6388, - "src": "2980:13:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6555, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6536, - "src": "2995:4:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 6556, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "buyer", - "nodeType": "MemberAccess", - "referencedDeclaration": 6390, - "src": "2995:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6557, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6536, - "src": "3019:4:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 6558, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "saleDistributionAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 6380, - "src": "3019:30:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6559, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6536, - "src": "3051:4:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 6560, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "saleDistributionAmounts", - "nodeType": "MemberAccess", - "referencedDeclaration": 6377, - "src": "3051:28:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - } - ], - "id": 6561, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2882:198:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_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_$", - "typeString": "tuple(uint256,uint256,uint256,uint256,string memory,string memory,string memory,address,address[] memory,uint256[] memory)" - } - }, - "functionReturnParameters": 6534, - "id": 6562, - "nodeType": "Return", - "src": "2875:205:8" - } - ] - }, - "documentation": null, - "functionSelector": "15424e6e", - "id": 6564, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6511, - "modifierName": { - "argumentTypes": null, - "id": 6510, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7154, - "src": "2667:9:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2667:9:8" - } - ], - "name": "getPackbyId", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6509, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6508, - "name": "_packId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6564, - "src": "2643:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6507, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2643:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2642:17:8" - }, - "returnParameters": { - "id": 6534, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6513, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6564, - "src": "2686:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6512, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2686:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6515, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6564, - "src": "2695:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6514, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2695:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6517, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6564, - "src": "2704:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6516, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2704:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6519, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6564, - "src": "2713:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6518, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2713:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6521, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6564, - "src": "2722:13:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 6520, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2722:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6523, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6564, - "src": "2737:13:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 6522, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2737:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6525, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6564, - "src": "2752:13:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 6524, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2752:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6527, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6564, - "src": "2767:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6526, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2767:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6530, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6564, - "src": "2785:16:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 6528, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2785:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6529, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2785:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6533, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6564, - "src": "2803:16:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 6531, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2803:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6532, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2803:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2685:135:8" - }, - "scope": 7124, - "src": "2622:465:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6586, - "nodeType": "Block", - "src": "3161:105:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6583, - "name": "_realFvrTokenPriceUSD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6358, - "src": "3237:21:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 6580, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 6576, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3202:2:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 6577, - "name": "_purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6308, - "src": "3206:14:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "typeString": "contract ERC20" - } - }, - "id": 6578, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 7659, - "src": "3206:23:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint8_$", - "typeString": "function () view external returns (uint8)" - } - }, - "id": 6579, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3206:25:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "3202:29:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6571, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6327, - "src": "3178:5:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$6391_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 6573, - "indexExpression": { - "argumentTypes": null, - "id": 6572, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6566, - "src": "3184:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3178:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 6574, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 6382, - "src": "3178:19:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6575, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "3178:23: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": 6581, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3178:54:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6582, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "3178:58: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": 6584, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3178:81:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 6570, - "id": 6585, - "nodeType": "Return", - "src": "3171:88:8" - } - ] - }, - "documentation": null, - "functionSelector": "84a50270", - "id": 6587, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getPackPriceInFVR", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6567, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6566, - "name": "packId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6587, - "src": "3120:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6565, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3120:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3119:16:8" - }, - "returnParameters": { - "id": 6570, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6569, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6587, - "src": "3152:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6568, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3152:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3151:9:8" - }, - "scope": 7124, - "src": "3093:173:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6716, - "nodeType": "Block", - "src": "3312:879:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6594, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "3330:8:8", - "subExpression": { - "argumentTypes": null, - "id": 6593, - "name": "_closed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6361, - "src": "3331:7:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4f70656e6572206973206c6f636b6564", - "id": 6595, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3340:18:8", - "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": 6592, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3322: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": "3322:37:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6597, - "nodeType": "ExpressionStatement", - "src": "3322:37:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 6607, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6599, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6327, - "src": "3377:5:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$6391_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 6601, - "indexExpression": { - "argumentTypes": null, - "id": 6600, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6589, - "src": "3383:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3377:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 6602, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "buyer", - "nodeType": "MemberAccess", - "referencedDeclaration": 6390, - "src": "3377:19:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 6605, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3408: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": 6604, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3400:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6603, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3400:7:8", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6606, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3400:10:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "3377:33:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5061636b2077617320616c726561647920626f75676874", - "id": 6608, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3412:25:8", - "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": 6598, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3369:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6609, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3369:69:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6610, - "nodeType": "ExpressionStatement", - "src": "3369:69:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6617, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6612, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6327, - "src": "3456:5:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$6391_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 6614, - "indexExpression": { - "argumentTypes": null, - "id": 6613, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6589, - "src": "3462:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3456:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 6615, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 6382, - "src": "3456:19:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6616, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3479:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3456:24:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5061636b2068617320746f206578697374", - "id": 6618, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3482:19:8", - "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": 6611, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3448:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3448:54:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6620, - "nodeType": "ExpressionStatement", - "src": "3448:54:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6622, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6327, - "src": "3520:5:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$6391_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 6624, - "indexExpression": { - "argumentTypes": null, - "id": 6623, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6589, - "src": "3526:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3520:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 6625, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 6382, - "src": "3520:19:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 6626, - "name": "_realFvrTokenPriceUSD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6358, - "src": "3543:21:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3520:44:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "507269636520696e207265616c4676722068617320746f20626520686967686572207468616e20756e6974207072696365206f6620746865207061636b", - "id": 6628, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3566:63:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c96b0b7bc1b6316479f4fefd298690bfb1541d25b40a6317aab74a31d1be0ef1", - "typeString": "literal_string \"Price in realFvr has to be higher than unit price of the pack\"" - }, - "value": "Price in realFvr has to be higher than unit price of the pack" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c96b0b7bc1b6316479f4fefd298690bfb1541d25b40a6317aab74a31d1be0ef1", - "typeString": "literal_string \"Price in realFvr has to be higher than unit price of the pack\"" - } - ], - "id": 6621, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3512: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": "3512:118:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6630, - "nodeType": "ExpressionStatement", - "src": "3512:118:8" - }, - { - "assignments": [ - 6632 - ], - "declarations": [ - { - "constant": false, - "id": 6632, - "name": "price", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6716, - "src": "3641:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6631, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3641:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6636, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6634, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6589, - "src": "3675:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6633, - "name": "getPackPriceInFVR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6587, - "src": "3657:17:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) returns (uint256)" - } - }, - "id": 6635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3657:25:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3641:41:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6648, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6640, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3726:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6641, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3726:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6644, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "3746:4:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_OpenerRealFvr_$7124", - "typeString": "contract OpenerRealFvr" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_OpenerRealFvr_$7124", - "typeString": "contract OpenerRealFvr" - } - ], - "id": 6643, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3738:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6642, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3738:7:8", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6645, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3738:13:8", - "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": 6638, - "name": "_purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6308, - "src": "3701:14:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "typeString": "contract ERC20" - } - }, - "id": 6639, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "allowance", - "nodeType": "MemberAccess", - "referencedDeclaration": 7718, - "src": "3701:24:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view external returns (uint256)" - } - }, - "id": 6646, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3701:51:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 6647, - "name": "price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6632, - "src": "3756:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3701:60:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e6f7420656e6f756768206d6f6e657920706572207061636b", - "id": 6649, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3763:27:8", - "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": 6637, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3693:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6650, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3693:98:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6651, - "nodeType": "ExpressionStatement", - "src": "3693:98:8" - }, - { - "assignments": [ - 6653 - ], - "declarations": [ - { - "constant": false, - "id": 6653, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6716, - "src": "3802:12:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6652, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3802:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6656, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6654, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3817:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6655, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3817:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3802:25:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6658, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6653, - "src": "3860:4:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6659, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6589, - "src": "3866:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6660, - "name": "price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6632, - "src": "3874:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6657, - "name": "_distributePackShares", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6454, - "src": "3838:21:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 6661, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3838:42:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6662, - "nodeType": "ExpressionStatement", - "src": "3838:42:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6665, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6663, - "name": "_openedPacks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "3891:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 6664, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3907:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3891:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6666, - "nodeType": "ExpressionStatement", - "src": "3891:17:8" - }, - { - "body": { - "id": 6702, - "nodeType": "Block", - "src": "3968:139:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6692, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6680, - "name": "registeredIDs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6314, - "src": "3982:13:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_bool_$_$", - "typeString": "mapping(address => mapping(uint256 => bool))" - } - }, - "id": 6689, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6681, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3996:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6682, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3996:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3982:25:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - } - }, - "id": 6690, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6688, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6683, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6327, - "src": "4008:5:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$6391_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 6685, - "indexExpression": { - "argumentTypes": null, - "id": 6684, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6589, - "src": "4014:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4008:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 6686, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "initialNFTId", - "nodeType": "MemberAccess", - "referencedDeclaration": 6372, - "src": "4008:26:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 6687, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6668, - "src": "4035:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4008:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3982:55:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 6691, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4040:4:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "3982:62:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6693, - "nodeType": "ExpressionStatement", - "src": "3982:62:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6699, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6668, - "src": "4094:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6694, - "name": "registeredIDsArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6319, - "src": "4058:18:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 6697, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6695, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4077:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6696, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4077:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4058:30:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 6698, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4058:35:8", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 6700, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4058:38:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6701, - "nodeType": "ExpressionStatement", - "src": "4058:38:8" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6676, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6671, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6668, - "src": "3935:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6672, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6327, - "src": "3939:5:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$6391_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 6674, - "indexExpression": { - "argumentTypes": null, - "id": 6673, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6589, - "src": "3945:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3939:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 6675, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "nftAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 6368, - "src": "3939:23:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3935:27:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6703, - "initializationExpression": { - "assignments": [ - 6668 - ], - "declarations": [ - { - "constant": false, - "id": 6668, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6703, - "src": "3923:6:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6667, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3923:4:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6670, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 6669, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3932:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "3923:10:8" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 6678, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "3964:3:8", - "subExpression": { - "argumentTypes": null, - "id": 6677, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6668, - "src": "3964:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6679, - "nodeType": "ExpressionStatement", - "src": "3964:3:8" - }, - "nodeType": "ForStatement", - "src": "3919:188:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6709, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6704, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6327, - "src": "4117:5:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$6391_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 6706, - "indexExpression": { - "argumentTypes": null, - "id": 6705, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6589, - "src": "4123:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4117:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 6707, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "buyer", - "nodeType": "MemberAccess", - "referencedDeclaration": 6390, - "src": "4117:19:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6708, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6653, - "src": "4139:4:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "4117:26:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6710, - "nodeType": "ExpressionStatement", - "src": "4117:26:8" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6712, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6653, - "src": "4170:4:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6713, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6589, - "src": "4176:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6711, - "name": "PackOpened", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6351, - "src": "4159:10:8", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6714, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4159:24:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6715, - "nodeType": "EmitStatement", - "src": "4154:29:8" - } - ] - }, - "documentation": null, - "functionSelector": "dc45bfb3", - "id": 6717, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "buyPack", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6590, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6589, - "name": "packId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6717, - "src": "3289:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6588, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3289:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3288:16:8" - }, - "returnParameters": { - "id": 6591, - "nodeType": "ParameterList", - "parameters": [], - "src": "3312:0:8" - }, - "scope": 7124, - "src": "3272:919:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6873, - "nodeType": "Block", - "src": "4517:1028:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6747, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6743, - "name": "saleDistributionAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6737, - "src": "4536:23:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 6744, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4536:30:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6745, - "name": "saleDistributionAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6734, - "src": "4570:25:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 6746, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4570:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4536:66:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "73616c65446973747269627574696f6e204c656e6768747320617265206e6f74207468652073616d65", - "id": 6748, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4604:43:8", - "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": 6742, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4528:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6749, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4528:120:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6750, - "nodeType": "ExpressionStatement", - "src": "4528:120:8" - }, - { - "assignments": [ - 6752 - ], - "declarations": [ - { - "constant": false, - "id": 6752, - "name": "totalFees", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6873, - "src": "4658:17:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6751, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4658:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6754, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 6753, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4678:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "4658:21:8" - }, - { - "body": { - "id": 6772, - "nodeType": "Block", - "src": "4747:64:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6770, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6766, - "name": "totalFees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6752, - "src": "4761:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6767, - "name": "saleDistributionAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6737, - "src": "4774:23:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 6769, - "indexExpression": { - "argumentTypes": null, - "id": 6768, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6756, - "src": "4798:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4774:26:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4761:39:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6771, - "nodeType": "ExpressionStatement", - "src": "4761:39:8" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6762, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6759, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6756, - "src": "4705:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6760, - "name": "saleDistributionAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6734, - "src": "4709:25:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 6761, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4709:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4705:36:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6773, - "initializationExpression": { - "assignments": [ - 6756 - ], - "declarations": [ - { - "constant": false, - "id": 6756, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6773, - "src": "4693:6:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6755, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4693:4:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6758, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 6757, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4702:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "4693:10:8" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 6764, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "4743:3:8", - "subExpression": { - "argumentTypes": null, - "id": 6763, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6756, - "src": "4743:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6765, - "nodeType": "ExpressionStatement", - "src": "4743:3:8" - }, - "nodeType": "ForStatement", - "src": "4689:122:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6777, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6775, - "name": "totalFees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6752, - "src": "4828:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 6776, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4841:3:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "4828:16:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "53756d206f6620616c6c20616d6f756e74732068617320746f20657175616c20313030", - "id": 6778, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4846:37:8", - "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": 6774, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4820:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6779, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4820:64:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6780, - "nodeType": "ExpressionStatement", - "src": "4820:64:8" - }, - { - "assignments": [ - 6782 - ], - "declarations": [ - { - "constant": false, - "id": 6782, - "name": "pack", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6873, - "src": "4895:16:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack" - }, - "typeName": { - "contractScope": null, - "id": 6781, - "name": "Pack", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6391, - "src": "4895:4:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_storage_ptr", - "typeString": "struct OpenerRealFvr.Pack" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6786, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6783, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6327, - "src": "4914:5:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$6391_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 6785, - "indexExpression": { - "argumentTypes": null, - "id": 6784, - "name": "packIncrementId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6330, - "src": "4920:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4914:22:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4895:41:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6791, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6787, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6782, - "src": "4946:4:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 6789, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "packId", - "nodeType": "MemberAccess", - "referencedDeclaration": 6366, - "src": "4946:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6790, - "name": "packIncrementId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6330, - "src": "4960:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4946:29:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6792, - "nodeType": "ExpressionStatement", - "src": "4946:29:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6797, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6793, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6782, - "src": "4985:4:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 6795, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "packNumber", - "nodeType": "MemberAccess", - "referencedDeclaration": 6370, - "src": "4985:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6796, - "name": "packNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6719, - "src": "5003:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4985:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6798, - "nodeType": "ExpressionStatement", - "src": "4985:28:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6803, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6799, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6782, - "src": "5023:4:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 6801, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "nftAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 6368, - "src": "5023:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6802, - "name": "nftAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6721, - "src": "5040:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5023:26:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6804, - "nodeType": "ExpressionStatement", - "src": "5023:26:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6809, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6805, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6782, - "src": "5059:4:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 6807, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "saleStart", - "nodeType": "MemberAccess", - "referencedDeclaration": 6374, - "src": "5059:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6808, - "name": "saleStart", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6731, - "src": "5076:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5059:26:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6810, - "nodeType": "ExpressionStatement", - "src": "5059:26:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6815, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6811, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6782, - "src": "5095:4:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 6813, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "initialNFTId", - "nodeType": "MemberAccess", - "referencedDeclaration": 6372, - "src": "5095:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6814, - "name": "lastNFTID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6333, - "src": "5115:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5095:29:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6816, - "nodeType": "ExpressionStatement", - "src": "5095:29:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6821, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6817, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6782, - "src": "5134:4:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 6819, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 6382, - "src": "5134:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6820, - "name": "price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6723, - "src": "5147:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5134:18:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6822, - "nodeType": "ExpressionStatement", - "src": "5134:18:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6827, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6823, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6782, - "src": "5162:4:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 6825, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "serie", - "nodeType": "MemberAccess", - "referencedDeclaration": 6384, - "src": "5162:10:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6826, - "name": "serie", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6725, - "src": "5175:5:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "5162:18:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - }, - "id": 6828, - "nodeType": "ExpressionStatement", - "src": "5162:18:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6833, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6829, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6782, - "src": "5190:4:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 6831, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "drop", - "nodeType": "MemberAccess", - "referencedDeclaration": 6386, - "src": "5190:9:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6832, - "name": "drop", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6729, - "src": "5202:4:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "5190:16:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - }, - "id": 6834, - "nodeType": "ExpressionStatement", - "src": "5190:16:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6839, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6835, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6782, - "src": "5216:4:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 6837, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "saleDistributionAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 6380, - "src": "5216:30:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6838, - "name": "saleDistributionAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6734, - "src": "5249:25:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "src": "5216:58:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "id": 6840, - "nodeType": "ExpressionStatement", - "src": "5216:58:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6841, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6782, - "src": "5284:4:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 6843, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "saleDistributionAmounts", - "nodeType": "MemberAccess", - "referencedDeclaration": 6377, - "src": "5284:28:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6844, - "name": "saleDistributionAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6737, - "src": "5315:23:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "src": "5284:54:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "id": 6846, - "nodeType": "ExpressionStatement", - "src": "5284:54:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6851, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6847, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6782, - "src": "5348:4:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 6849, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "packType", - "nodeType": "MemberAccess", - "referencedDeclaration": 6388, - "src": "5348:13:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6850, - "name": "packType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6727, - "src": "5364:8:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "5348:24:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - }, - "id": 6852, - "nodeType": "ExpressionStatement", - "src": "5348:24:8" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6854, - "name": "packIncrementId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6330, - "src": "5400:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6855, - "name": "nftAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6721, - "src": "5417:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6856, - "name": "serie", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6725, - "src": "5428:5:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 6857, - "name": "packType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6727, - "src": "5435:8:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 6858, - "name": "drop", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6729, - "src": "5445:4:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "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": 6853, - "name": "PackCreated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6345, - "src": "5388:11:8", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (uint256,uint256,string memory,string memory,string memory)" - } - }, - "id": 6859, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5388:62:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6860, - "nodeType": "EmitStatement", - "src": "5383:67:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6865, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6861, - "name": "lastNFTID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6333, - "src": "5460:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6864, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6862, - "name": "lastNFTID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6333, - "src": "5472:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 6863, - "name": "nftAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6721, - "src": "5484:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5472:21:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5460:33:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6866, - "nodeType": "ExpressionStatement", - "src": "5460:33:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6871, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6867, - "name": "packIncrementId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6330, - "src": "5503:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6870, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6868, - "name": "packIncrementId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6330, - "src": "5521:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 6869, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5537:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "5521:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5503:35:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6872, - "nodeType": "ExpressionStatement", - "src": "5503:35:8" - } - ] - }, - "documentation": null, - "functionSelector": "1a27a338", - "id": 6874, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6740, - "modifierName": { - "argumentTypes": null, - "id": 6739, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7154, - "src": "4507:9:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4507:9:8" - } - ], - "name": "createPack", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6738, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6719, - "name": "packNumber", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6874, - "src": "4217:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6718, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4217:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6721, - "name": "nftAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6874, - "src": "4237:17:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6720, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4237:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6723, - "name": "price", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6874, - "src": "4256:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6722, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4256:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6725, - "name": "serie", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6874, - "src": "4302:19:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 6724, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4302:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6727, - "name": "packType", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6874, - "src": "4323:22:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 6726, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4323:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6729, - "name": "drop", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6874, - "src": "4347:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 6728, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4347:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6731, - "name": "saleStart", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6874, - "src": "4367:17:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6730, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4367:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6734, - "name": "saleDistributionAddresses", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6874, - "src": "4394:42:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 6732, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4394:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6733, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4394:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6737, - "name": "saleDistributionAmounts", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6874, - "src": "4439:40:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 6735, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4439:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6736, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4439:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4216:283:8" - }, - "returnParameters": { - "id": 6741, - "nodeType": "ParameterList", - "parameters": [], - "src": "4517:0:8" - }, - "scope": 7124, - "src": "4197:1348:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6950, - "nodeType": "Block", - "src": "5630:459:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6889, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6884, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6327, - "src": "5648:5:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$6391_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 6886, - "indexExpression": { - "argumentTypes": null, - "id": 6885, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6876, - "src": "5654:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5648:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 6887, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "packId", - "nodeType": "MemberAccess", - "referencedDeclaration": 6366, - "src": "5648:20:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 6888, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6876, - "src": "5672:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5648:30:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5061636b20646f6573206e6f74206578697374", - "id": 6890, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5680:21:8", - "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": 6883, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5640:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6891, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5640:62:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6892, - "nodeType": "ExpressionStatement", - "src": "5640:62:8" - }, - { - "assignments": [ - 6894 - ], - "declarations": [ - { - "constant": false, - "id": 6894, - "name": "pack", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6950, - "src": "5712:16:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack" - }, - "typeName": { - "contractScope": null, - "id": 6893, - "name": "Pack", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6391, - "src": "5712:4:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_storage_ptr", - "typeString": "struct OpenerRealFvr.Pack" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6898, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6895, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6327, - "src": "5731:5:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$6391_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 6897, - "indexExpression": { - "argumentTypes": null, - "id": 6896, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6876, - "src": "5737:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5731:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5712:32:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6904, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6899, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6327, - "src": "5754:5:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$6391_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 6901, - "indexExpression": { - "argumentTypes": null, - "id": 6900, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6876, - "src": "5760:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5754:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 6902, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "buyer", - "nodeType": "MemberAccess", - "referencedDeclaration": 6390, - "src": "5754:19:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6903, - "name": "receivingAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6878, - "src": "5776:16:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "5754:38:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6905, - "nodeType": "ExpressionStatement", - "src": "5754:38:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6908, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6906, - "name": "_openedPacks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "5803:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 6907, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5819:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "5803:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6909, - "nodeType": "ExpressionStatement", - "src": "5803:17:8" - }, - { - "body": { - "id": 6943, - "nodeType": "Block", - "src": "5880:151:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6934, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6923, - "name": "registeredIDs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6314, - "src": "5894:13:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_bool_$_$", - "typeString": "mapping(address => mapping(uint256 => bool))" - } - }, - "id": 6931, - "indexExpression": { - "argumentTypes": null, - "id": 6924, - "name": "receivingAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6878, - "src": "5908:16:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5894:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - } - }, - "id": 6932, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6930, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6925, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6327, - "src": "5926:5:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$6391_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 6927, - "indexExpression": { - "argumentTypes": null, - "id": 6926, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6876, - "src": "5932:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5926:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 6928, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "initialNFTId", - "nodeType": "MemberAccess", - "referencedDeclaration": 6372, - "src": "5926:26:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 6929, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6911, - "src": "5953:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5926:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5894:61:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 6933, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5958:4:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "5894:68:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6935, - "nodeType": "ExpressionStatement", - "src": "5894:68:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6940, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6911, - "src": "6018:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6936, - "name": "registeredIDsArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6319, - "src": "5976:18:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 6938, - "indexExpression": { - "argumentTypes": null, - "id": 6937, - "name": "receivingAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6878, - "src": "5995:16:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5976:36:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 6939, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5976:41:8", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 6941, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5976:44:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6942, - "nodeType": "ExpressionStatement", - "src": "5976:44:8" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6919, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6914, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6911, - "src": "5847:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6915, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6327, - "src": "5851:5:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$6391_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 6917, - "indexExpression": { - "argumentTypes": null, - "id": 6916, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6876, - "src": "5857:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5851:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 6918, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "nftAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 6368, - "src": "5851:23:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5847:27:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6944, - "initializationExpression": { - "assignments": [ - 6911 - ], - "declarations": [ - { - "constant": false, - "id": 6911, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6944, - "src": "5835:6:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6910, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "5835:4:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6913, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 6912, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5844:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "5835:10:8" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 6921, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "5876:3:8", - "subExpression": { - "argumentTypes": null, - "id": 6920, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6911, - "src": "5876:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6922, - "nodeType": "ExpressionStatement", - "src": "5876:3:8" - }, - "nodeType": "ForStatement", - "src": "5831:200:8" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6946, - "name": "receivingAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6878, - "src": "6057:16:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6947, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6876, - "src": "6075:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6945, - "name": "PackOpened", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6351, - "src": "6046:10:8", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6948, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6046:36:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6949, - "nodeType": "EmitStatement", - "src": "6041:41:8" - } - ] - }, - "documentation": null, - "functionSelector": "ec6923a1", - "id": 6951, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6881, - "modifierName": { - "argumentTypes": null, - "id": 6880, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7154, - "src": "5620:9:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "5620:9:8" - } - ], - "name": "offerPack", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6879, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6876, - "name": "packId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6951, - "src": "5571:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6875, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5571:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6878, - "name": "receivingAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6951, - "src": "5587:24:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6877, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5587:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5570:42:8" - }, - "returnParameters": { - "id": 6882, - "nodeType": "ParameterList", - "parameters": [], - "src": "5630:0:8" - }, - "scope": 7124, - "src": "5552:537:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7014, - "nodeType": "Block", - "src": "6251:295:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6975, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6969, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "6269:5:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 6970, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6269:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6971, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6327, - "src": "6287:5:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$6391_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 6973, - "indexExpression": { - "argumentTypes": null, - "id": 6972, - "name": "_packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6953, - "src": "6293:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6287:14:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 6974, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "saleStart", - "nodeType": "MemberAccess", - "referencedDeclaration": 6374, - "src": "6287:24:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6269:42:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "53616c6520697320616c7265616479206c697665", - "id": 6976, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6313:22:8", - "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": 6968, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6261:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6977, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6261:75:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6978, - "nodeType": "ExpressionStatement", - "src": "6261:75:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6979, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6327, - "src": "6346:5:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$6391_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 6981, - "indexExpression": { - "argumentTypes": null, - "id": 6980, - "name": "_packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6953, - "src": "6352:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6346:14:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 6982, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "saleStart", - "nodeType": "MemberAccess", - "referencedDeclaration": 6374, - "src": "6346:24:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6983, - "name": "_saleStart", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6955, - "src": "6373:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6346:37:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6985, - "nodeType": "ExpressionStatement", - "src": "6346:37:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6991, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6986, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6327, - "src": "6393:5:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$6391_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 6988, - "indexExpression": { - "argumentTypes": null, - "id": 6987, - "name": "_packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6953, - "src": "6399:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6393:14:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 6989, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "serie", - "nodeType": "MemberAccess", - "referencedDeclaration": 6384, - "src": "6393:20:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6990, - "name": "serie", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6957, - "src": "6416:5:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "6393:28:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 6992, - "nodeType": "ExpressionStatement", - "src": "6393:28:8" - }, - { - "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": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6327, - "src": "6431:5:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$6391_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 6995, - "indexExpression": { - "argumentTypes": null, - "id": 6994, - "name": "_packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6953, - "src": "6437:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6431:14:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 6996, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "packType", - "nodeType": "MemberAccess", - "referencedDeclaration": 6388, - "src": "6431:23:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6997, - "name": "packType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6959, - "src": "6457:8:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "6431:34:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 6999, - "nodeType": "ExpressionStatement", - "src": "6431:34:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 7005, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7000, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6327, - "src": "6475:5:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$6391_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 7002, - "indexExpression": { - "argumentTypes": null, - "id": 7001, - "name": "_packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6953, - "src": "6481:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6475:14:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 7003, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "drop", - "nodeType": "MemberAccess", - "referencedDeclaration": 6386, - "src": "6475:19:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 7004, - "name": "drop", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6961, - "src": "6497:4:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "6475:26:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 7006, - "nodeType": "ExpressionStatement", - "src": "6475:26:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 7012, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7007, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6327, - "src": "6511:5:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$6391_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 7009, - "indexExpression": { - "argumentTypes": null, - "id": 7008, - "name": "_packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6953, - "src": "6517:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6511:14:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 7010, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 6382, - "src": "6511:20:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 7011, - "name": "price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6963, - "src": "6534:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6511:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7013, - "nodeType": "ExpressionStatement", - "src": "6511:28:8" - } - ] - }, - "documentation": null, - "functionSelector": "3a307f61", - "id": 7015, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6966, - "modifierName": { - "argumentTypes": null, - "id": 6965, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7154, - "src": "6241:9:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "6241:9:8" - } - ], - "name": "editPackInfo", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6964, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6953, - "name": "_packId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7015, - "src": "6117:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6952, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6117:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6955, - "name": "_saleStart", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7015, - "src": "6134:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6954, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6134:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6957, - "name": "serie", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7015, - "src": "6154:19:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 6956, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "6154:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6959, - "name": "packType", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7015, - "src": "6175:22:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 6958, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "6175:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6961, - "name": "drop", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7015, - "src": "6199:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 6960, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "6199:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6963, - "name": "price", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7015, - "src": "6219:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6962, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6219:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6116:117:8" - }, - "returnParameters": { - "id": 6967, - "nodeType": "ParameterList", - "parameters": [], - "src": "6251:0:8" - }, - "scope": 7124, - "src": "6095:451:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7042, - "nodeType": "Block", - "src": "6609:154:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7029, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7023, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "6627:5:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 7024, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6627:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7025, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6327, - "src": "6645:5:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$6391_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 7027, - "indexExpression": { - "argumentTypes": null, - "id": 7026, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7017, - "src": "6651:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6645:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 7028, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "saleStart", - "nodeType": "MemberAccess", - "referencedDeclaration": 6374, - "src": "6645:23:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6627:41:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "53616c6520697320616c7265616479206c697665", - "id": 7030, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6670:22:8", - "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": 7022, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6619:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7031, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6619:74:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7032, - "nodeType": "ExpressionStatement", - "src": "6619:74:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 7036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "6703:20:8", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7033, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6327, - "src": "6710:5:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$6391_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 7035, - "indexExpression": { - "argumentTypes": null, - "id": 7034, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7017, - "src": "6716:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6710:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7037, - "nodeType": "ExpressionStatement", - "src": "6703:20:8" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7039, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7017, - "src": "6749:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7038, - "name": "PackDelete", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6355, - "src": "6738:10:8", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 7040, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6738:18:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7041, - "nodeType": "EmitStatement", - "src": "6733:23:8" - } - ] - }, - "documentation": null, - "functionSelector": "ec90a293", - "id": 7043, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 7020, - "modifierName": { - "argumentTypes": null, - "id": 7019, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7154, - "src": "6599:9:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "6599:9:8" - } - ], - "name": "deletePackById", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7018, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7017, - "name": "packId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7043, - "src": "6576:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7016, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6576:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6575:16:8" - }, - "returnParameters": { - "id": 7021, - "nodeType": "ParameterList", - "parameters": [], - "src": "6609:0:8" - }, - "scope": 7124, - "src": "6552:211:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7078, - "nodeType": "Block", - "src": "6813:278:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7049, - "name": "registeredIDs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6314, - "src": "6831:13:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_bool_$_$", - "typeString": "mapping(address => mapping(uint256 => bool))" - } - }, - "id": 7052, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7050, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6845:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7051, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6845:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6831:25:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - } - }, - "id": 7054, - "indexExpression": { - "argumentTypes": null, - "id": 7053, - "name": "tokenIdToMint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7045, - "src": "6857:13:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6831:40:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "546f6b656e20776173206e6f742072656769737465726564206f72206e6f742074686520726967687466756c206f776e6572", - "id": 7055, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6873:52:8", - "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": 7048, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6823:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7056, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6823:103:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7057, - "nodeType": "ExpressionStatement", - "src": "6823:103:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7062, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "6944:29:8", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7059, - "name": "alreadyMinted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6323, - "src": "6945:13:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - } - }, - "id": 7061, - "indexExpression": { - "argumentTypes": null, - "id": 7060, - "name": "tokenIdToMint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7045, - "src": "6959:13:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6945:28:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416c7265616479206d696e746564", - "id": 7063, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6975:16:8", - "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": 7058, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6936:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7064, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6936:56:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7065, - "nodeType": "ExpressionStatement", - "src": "6936:56:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 7070, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7066, - "name": "alreadyMinted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6323, - "src": "7003:13:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - } - }, - "id": 7068, - "indexExpression": { - "argumentTypes": null, - "id": 7067, - "name": "tokenIdToMint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7045, - "src": "7017:13:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7003:28:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7069, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7034:4:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "7003:35:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 7071, - "nodeType": "ExpressionStatement", - "src": "7003:35:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7073, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7058:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7074, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7058:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7075, - "name": "tokenIdToMint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7045, - "src": "7070:13:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7072, - "name": "_safeMint", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 8704, - 8732 - ], - "referencedDeclaration": 8704, - "src": "7048:9:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 7076, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7048:36:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7077, - "nodeType": "ExpressionStatement", - "src": "7048:36:8" - } - ] - }, - "documentation": null, - "functionSelector": "a0712d68", - "id": 7079, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7046, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7045, - "name": "tokenIdToMint", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7079, - "src": "6783:21:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7044, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6783:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6782:23:8" - }, - "returnParameters": { - "id": 7047, - "nodeType": "ParameterList", - "parameters": [], - "src": "6813:0:8" - }, - "scope": 7124, - "src": "6769:322:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7090, - "nodeType": "Block", - "src": "7168:47:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7088, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7086, - "name": "_purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6308, - "src": "7178:14:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "typeString": "contract ERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 7087, - "name": "purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7081, - "src": "7195:13:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "typeString": "contract ERC20" - } - }, - "src": "7178:30:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "typeString": "contract ERC20" - } - }, - "id": 7089, - "nodeType": "ExpressionStatement", - "src": "7178:30:8" - } - ] - }, - "documentation": null, - "functionSelector": "298489d2", - "id": 7091, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 7084, - "modifierName": { - "argumentTypes": null, - "id": 7083, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7154, - "src": "7158:9:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "7158:9:8" - } - ], - "name": "setPurchaseTokenAddress", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7082, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7081, - "name": "purchaseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7091, - "src": "7130:19:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 7080, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8069, - "src": "7130:5:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7129:21:8" - }, - "returnParameters": { - "id": 7085, - "nodeType": "ParameterList", - "parameters": [], - "src": "7168:0:8" - }, - "scope": 7124, - "src": "7097:118:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7102, - "nodeType": "Block", - "src": "7304:102:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7100, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7098, - "name": "_realFvrTokenPriceUSD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6358, - "src": "7314:21:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 7099, - "name": "newPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7093, - "src": "7338:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7314:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7101, - "nodeType": "ExpressionStatement", - "src": "7314:32:8" - } - ] - }, - "documentation": null, - "functionSelector": "5eeb57c0", - "id": 7103, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 7096, - "modifierName": { - "argumentTypes": null, - "id": 7095, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7154, - "src": "7294:9:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "7294:9:8" - } - ], - "name": "setTokenPriceInUSD", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7094, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7093, - "name": "newPrice", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7103, - "src": "7249:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7092, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7249:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7248:38:8" - }, - "returnParameters": { - "id": 7097, - "nodeType": "ParameterList", - "parameters": [], - "src": "7304:0:8" - }, - "scope": 7124, - "src": "7221:185:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7112, - "nodeType": "Block", - "src": "7445:31:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7110, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7108, - "name": "_closed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6361, - "src": "7455:7:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7109, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7465:4:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "7455:14:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 7111, - "nodeType": "ExpressionStatement", - "src": "7455:14:8" - } - ] - }, - "documentation": null, - "functionSelector": "f83d08ba", - "id": 7113, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 7106, - "modifierName": { - "argumentTypes": null, - "id": 7105, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7154, - "src": "7435:9:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "7435:9:8" - } - ], - "name": "lock", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7104, - "nodeType": "ParameterList", - "parameters": [], - "src": "7425:2:8" - }, - "returnParameters": { - "id": 7107, - "nodeType": "ParameterList", - "parameters": [], - "src": "7445:0:8" - }, - "scope": 7124, - "src": "7412:64:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7122, - "nodeType": "Block", - "src": "7517:32:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7120, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7118, - "name": "_closed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6361, - "src": "7527:7:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 7119, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7537:5:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "7527:15:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 7121, - "nodeType": "ExpressionStatement", - "src": "7527:15:8" - } - ] - }, - "documentation": null, - "functionSelector": "a69df4b5", - "id": 7123, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 7116, - "modifierName": { - "argumentTypes": null, - "id": 7115, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7154, - "src": "7507:9:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "7507:9:8" - } - ], - "name": "unlock", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7114, - "nodeType": "ParameterList", - "parameters": [], - "src": "7497:2:8" - }, - "returnParameters": { - "id": 7117, - "nodeType": "ParameterList", - "parameters": [], - "src": "7517:0:8" - }, - "scope": 7124, - "src": "7482:67:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - } - ], - "scope": 7125, - "src": "205:7346:8" - } - ], - "src": "33:7518:8" - }, - "legacyAST": { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/custom/OpenerRealFvr.sol", - "exportedSymbols": { - "OpenerRealFvr": [ - 7124 - ] - }, - "id": 7125, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 6296, - "literals": [ - "solidity", - ">=", - "0.6", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:24:8" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC721/ERC721.sol", - "file": "@openzeppelin/contracts/token/ERC721/ERC721.sol", - "id": 6297, - "nodeType": "ImportDirective", - "scope": 7125, - "sourceUnit": 9052, - "src": "59:57:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "file": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "id": 6298, - "nodeType": "ImportDirective", - "scope": 7125, - "sourceUnit": 8070, - "src": "117:55:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Ownable.sol", - "file": "../utils/Ownable.sol", - "id": 6299, - "nodeType": "ImportDirective", - "scope": 7125, - "sourceUnit": 7182, - "src": "173:30:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 6300, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7181, - "src": "232:7:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$7181", - "typeString": "contract Ownable" - } - }, - "id": 6301, - "nodeType": "InheritanceSpecifier", - "src": "232:7:8" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 6302, - "name": "ERC721", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9051, - "src": "241:6:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721_$9051", - "typeString": "contract ERC721" - } - }, - "id": 6303, - "nodeType": "InheritanceSpecifier", - "src": "241:6:8" - } - ], - "contractDependencies": [ - 7181, - 7234, - 7244, - 9051, - 9154, - 9181, - 9204, - 9528 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 7124, - "linearizedBaseContracts": [ - 7124, - 9051, - 9181, - 9204, - 9154, - 7234, - 7244, - 9528, - 7181 - ], - "name": "OpenerRealFvr", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 6306, - "libraryName": { - "contractScope": null, - "id": 6304, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7585, - "src": "261:8:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$7585", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "255:27:8", - "typeName": { - "id": 6305, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "274:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "functionSelector": "69c7d8a3", - "id": 6308, - "name": "_purchaseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7124, - "src": "288:27:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 6307, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8069, - "src": "288:5:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "1e14a533", - "id": 6314, - "name": "registeredIDs", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7124, - "src": "442:65:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_bool_$_$", - "typeString": "mapping(address => mapping(uint256 => bool))" - }, - "typeName": { - "id": 6313, - "keyType": { - "id": 6309, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "450:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "442:44:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_bool_$_$", - "typeString": "mapping(address => mapping(uint256 => bool))" - }, - "valueType": { - "id": 6312, - "keyType": { - "id": 6310, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "469:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "461:24:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - }, - "valueType": { - "id": 6311, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "480:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "01d243a6", - "id": 6319, - "name": "registeredIDsArray", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7124, - "src": "513:55:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[])" - }, - "typeName": { - "id": 6318, - "keyType": { - "id": 6315, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "521:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "513:29:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[])" - }, - "valueType": { - "baseType": { - "id": 6316, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "532:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6317, - "length": null, - "nodeType": "ArrayTypeName", - "src": "532:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "b7365f1f", - "id": 6323, - "name": "alreadyMinted", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7124, - "src": "574:45:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - }, - "typeName": { - "id": 6322, - "keyType": { - "id": 6320, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "582:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "574:24:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - }, - "valueType": { - "id": 6321, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "593:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "b84c1392", - "id": 6327, - "name": "packs", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7124, - "src": "625:37:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$6391_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack)" - }, - "typeName": { - "id": 6326, - "keyType": { - "id": 6324, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "633:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "625:24:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$6391_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack)" - }, - "valueType": { - "contractScope": null, - "id": 6325, - "name": "Pack", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6391, - "src": "644:4:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_storage_ptr", - "typeString": "struct OpenerRealFvr.Pack" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "6fcbc6ed", - "id": 6330, - "name": "packIncrementId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7124, - "src": "668:34:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6328, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "668:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 6329, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "701:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "e6416503", - "id": 6333, - "name": "lastNFTID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7124, - "src": "708:28:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6331, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "708:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 6332, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "735:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 6345, - "name": "PackCreated", - "nodeType": "EventDefinition", - "parameters": { - "id": 6344, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6335, - "indexed": false, - "name": "packId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6345, - "src": "761:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6334, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "761:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6337, - "indexed": false, - "name": "nftsAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6345, - "src": "777:19:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6336, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "777:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6339, - "indexed": true, - "name": "serie", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6345, - "src": "798:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 6338, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "798:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6341, - "indexed": true, - "name": "packType", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6345, - "src": "820:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 6340, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "820:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6343, - "indexed": true, - "name": "drop", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6345, - "src": "845:19:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 6342, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "845:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "760:105:8" - }, - "src": "743:123:8" - }, - { - "anonymous": false, - "documentation": null, - "id": 6351, - "name": "PackOpened", - "nodeType": "EventDefinition", - "parameters": { - "id": 6350, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6347, - "indexed": true, - "name": "by", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6351, - "src": "888:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6346, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "888:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6349, - "indexed": true, - "name": "packId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6351, - "src": "908:22:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6348, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "908:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "887:44:8" - }, - "src": "871:61:8" - }, - { - "anonymous": false, - "documentation": null, - "id": 6355, - "name": "PackDelete", - "nodeType": "EventDefinition", - "parameters": { - "id": 6354, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6353, - "indexed": true, - "name": "packId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6355, - "src": "954:22:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6352, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "954:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "953:24:8" - }, - "src": "937:41:8" - }, - { - "constant": false, - "functionSelector": "1eae8636", - "id": 6358, - "name": "_realFvrTokenPriceUSD", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7124, - "src": "984:40:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6356, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "984:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 6357, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1023:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "dd7c5e54", - "id": 6361, - "name": "_closed", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7124, - "src": "1031:27:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6359, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1031:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 6360, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1053:5:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "eb8800d0", - "id": 6364, - "name": "_openedPacks", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7124, - "src": "1064:31:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6362, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1064:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 6363, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1094:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "canonicalName": "OpenerRealFvr.Pack", - "id": 6391, - "members": [ - { - "constant": false, - "id": 6366, - "name": "packId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6391, - "src": "1124:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6365, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1124:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6368, - "name": "nftAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6391, - "src": "1148:17:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6367, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1148:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6370, - "name": "packNumber", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6391, - "src": "1175:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6369, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1175:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6372, - "name": "initialNFTId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6391, - "src": "1203:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6371, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1203:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6374, - "name": "saleStart", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6391, - "src": "1233:17:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6373, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1233:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6377, - "name": "saleDistributionAmounts", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6391, - "src": "1260:33:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 6375, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1260:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6376, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1260:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6380, - "name": "saleDistributionAddresses", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6391, - "src": "1303:35:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 6378, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1303:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6379, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1303:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6382, - "name": "price", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6391, - "src": "1372:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6381, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1372:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6384, - "name": "serie", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6391, - "src": "1421:12:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 6383, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1421:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6386, - "name": "drop", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6391, - "src": "1443:11:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 6385, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1443:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6388, - "name": "packType", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6391, - "src": "1464:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 6387, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1464:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6390, - "name": "buyer", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6391, - "src": "1513:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6389, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1513:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Pack", - "nodeType": "StructDefinition", - "scope": 7124, - "src": "1102:431:8", - "visibility": "public" - }, - { - "body": { - "id": 6404, - "nodeType": "Block", - "src": "1647:2:8", - "statements": [] - }, - "documentation": null, - "id": 6405, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 6400, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6393, - "src": "1633:4:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 6401, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6395, - "src": "1639:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "id": 6402, - "modifierName": { - "argumentTypes": null, - "id": 6399, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9051, - "src": "1626:6:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$9051_$", - "typeString": "type(contract ERC721)" - } - }, - "nodeType": "ModifierInvocation", - "src": "1626:20:8" - } - ], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6398, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6393, - "name": "name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6405, - "src": "1555:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 6392, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1555:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6395, - "name": "symbol", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6405, - "src": "1575:20:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 6394, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1575:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6397, - "name": "_purchaseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6405, - "src": "1597:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 6396, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8069, - "src": "1597:5:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1554:64:8" - }, - "returnParameters": { - "id": 6403, - "nodeType": "ParameterList", - "parameters": [], - "src": "1647:0:8" - }, - "scope": 7124, - "src": "1542:107:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6453, - "nodeType": "Block", - "src": "1741:397:8", - "statements": [ - { - "assignments": [ - 6415 - ], - "declarations": [ - { - "constant": false, - "id": 6415, - "name": "pack", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6453, - "src": "1783:16:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack" - }, - "typeName": { - "contractScope": null, - "id": 6414, - "name": "Pack", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6391, - "src": "1783:4:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_storage_ptr", - "typeString": "struct OpenerRealFvr.Pack" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6419, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6416, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6327, - "src": "1802:5:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$6391_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 6418, - "indexExpression": { - "argumentTypes": null, - "id": 6417, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6409, - "src": "1808:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1802:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1783:32:8" - }, - { - "body": { - "id": 6451, - "nodeType": "Block", - "src": "1889:243:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6435, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6407, - "src": "1986:4:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6436, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6415, - "src": "2008:4:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 6437, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "saleDistributionAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 6380, - "src": "2008:30:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "id": 6439, - "indexExpression": { - "argumentTypes": null, - "id": 6438, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6421, - "src": "2039:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2008:33:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6448, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6445, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6440, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6415, - "src": "2060:4:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 6441, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "saleDistributionAmounts", - "nodeType": "MemberAccess", - "referencedDeclaration": 6377, - "src": "2060:28:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "id": 6443, - "indexExpression": { - "argumentTypes": null, - "id": 6442, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6421, - "src": "2089:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2060:31:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 6444, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6411, - "src": "2094:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2060:40:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6446, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2059:42:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 6447, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2104:3:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "2059:48:8", - "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": 6432, - "name": "_purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6308, - "src": "1941:14:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "typeString": "contract ERC20" - } - }, - "id": 6434, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 7775, - "src": "1941:27: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": 6449, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1941:180:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6450, - "nodeType": "ExpressionStatement", - "src": "1941:180:8" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6424, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6421, - "src": "1842:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6425, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6415, - "src": "1846:4:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 6426, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "saleDistributionAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 6380, - "src": "1846:30:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "id": 6427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1846:37:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1842:41:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6452, - "initializationExpression": { - "assignments": [ - 6421 - ], - "declarations": [ - { - "constant": false, - "id": 6421, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6452, - "src": "1830:6:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6420, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1830:4:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6423, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 6422, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1839:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "1830:10:8" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 6430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "1885:3:8", - "subExpression": { - "argumentTypes": null, - "id": 6429, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6421, - "src": "1885:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6431, - "nodeType": "ExpressionStatement", - "src": "1885:3:8" - }, - "nodeType": "ForStatement", - "src": "1826:306:8" - } - ] - }, - "documentation": null, - "id": 6454, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_distributePackShares", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6412, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6407, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6454, - "src": "1686:12:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6406, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1686:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6409, - "name": "packId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6454, - "src": "1700:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6408, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1700:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6411, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6454, - "src": "1716:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6410, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1716:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1685:46:8" - }, - "returnParameters": { - "id": 6413, - "nodeType": "ParameterList", - "parameters": [], - "src": "1741:0:8" - }, - "scope": 7124, - "src": "1655:483:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 6468, - "nodeType": "Block", - "src": "2219:43:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6464, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6456, - "src": "2242:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6465, - "name": "uri", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6458, - "src": "2251:3:8", - "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": 6463, - "name": "_setTokenURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8950, - "src": "2229:12:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (uint256,string memory)" - } - }, - "id": 6466, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2229:26:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6467, - "nodeType": "ExpressionStatement", - "src": "2229:26:8" - } - ] - }, - "documentation": null, - "functionSelector": "162094c4", - "id": 6469, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6461, - "modifierName": { - "argumentTypes": null, - "id": 6460, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7154, - "src": "2209:9:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2209:9:8" - } - ], - "name": "setTokenURI", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6459, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6456, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6469, - "src": "2166:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6455, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2166:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6458, - "name": "uri", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6469, - "src": "2183:17:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 6457, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2183:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2165:36:8" - }, - "returnParameters": { - "id": 6462, - "nodeType": "ParameterList", - "parameters": [], - "src": "2219:0:8" - }, - "scope": 7124, - "src": "2145:117:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6480, - "nodeType": "Block", - "src": "2328:37:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6477, - "name": "baseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6471, - "src": "2350:7:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 6476, - "name": "_setBaseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8960, - "src": "2338:11:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory)" - } - }, - "id": 6478, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2338:20:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6479, - "nodeType": "ExpressionStatement", - "src": "2338:20:8" - } - ] - }, - "documentation": null, - "functionSelector": "55f804b3", - "id": 6481, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6474, - "modifierName": { - "argumentTypes": null, - "id": 6473, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7154, - "src": "2318:9:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2318:9:8" - } - ], - "name": "setBaseURI", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6472, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6471, - "name": "baseURI", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6481, - "src": "2288:21:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 6470, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2288:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2287:23:8" - }, - "returnParameters": { - "id": 6475, - "nodeType": "ParameterList", - "parameters": [], - "src": "2328:0:8" - }, - "scope": 7124, - "src": "2268:97:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6492, - "nodeType": "Block", - "src": "2432:40:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6489, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6483, - "src": "2457:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6488, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8649, - "src": "2449:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 6490, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2449:16:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 6487, - "id": 6491, - "nodeType": "Return", - "src": "2442:23:8" - } - ] - }, - "documentation": null, - "functionSelector": "4f558e79", - "id": 6493, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "exists", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6484, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6483, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6493, - "src": "2388:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6482, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2388:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2387:17:8" - }, - "returnParameters": { - "id": 6487, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6486, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6493, - "src": "2426:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6485, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2426:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2425:6:8" - }, - "scope": 7124, - "src": "2372:100:8", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6505, - "nodeType": "Block", - "src": "2564:52:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6501, - "name": "registeredIDsArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6319, - "src": "2581:18:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 6503, - "indexExpression": { - "argumentTypes": null, - "id": 6502, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6495, - "src": "2600:8:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2581:28:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "functionReturnParameters": 6500, - "id": 6504, - "nodeType": "Return", - "src": "2574:35:8" - } - ] - }, - "documentation": null, - "functionSelector": "2c686030", - "id": 6506, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getRegisteredIDs", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6496, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6495, - "name": "_address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6506, - "src": "2508:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6494, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2508:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2507:18:8" - }, - "returnParameters": { - "id": 6500, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6499, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6506, - "src": "2546:16:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 6497, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2546:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6498, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2546:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2545:18:8" - }, - "scope": 7124, - "src": "2482:134:8", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6563, - "nodeType": "Block", - "src": "2822:265:8", - "statements": [ - { - "assignments": [ - 6536 - ], - "declarations": [ - { - "constant": false, - "id": 6536, - "name": "pack", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6563, - "src": "2832:16:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack" - }, - "typeName": { - "contractScope": null, - "id": 6535, - "name": "Pack", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6391, - "src": "2832:4:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_storage_ptr", - "typeString": "struct OpenerRealFvr.Pack" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6540, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6537, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6327, - "src": "2851:5:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$6391_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 6539, - "indexExpression": { - "argumentTypes": null, - "id": 6538, - "name": "_packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6508, - "src": "2857:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2851:14:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2832:33:8" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6541, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6536, - "src": "2896:4:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 6542, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "packId", - "nodeType": "MemberAccess", - "referencedDeclaration": 6366, - "src": "2896:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6543, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6536, - "src": "2909:4:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 6544, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "packNumber", - "nodeType": "MemberAccess", - "referencedDeclaration": 6370, - "src": "2909:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6545, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6536, - "src": "2926:4:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 6546, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "initialNFTId", - "nodeType": "MemberAccess", - "referencedDeclaration": 6372, - "src": "2926:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6547, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6536, - "src": "2945:4:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 6548, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 6382, - "src": "2945:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6549, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6536, - "src": "2957:4:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 6550, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "serie", - "nodeType": "MemberAccess", - "referencedDeclaration": 6384, - "src": "2957:10:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6551, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6536, - "src": "2969:4:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 6552, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "drop", - "nodeType": "MemberAccess", - "referencedDeclaration": 6386, - "src": "2969:9:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6553, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6536, - "src": "2980:4:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 6554, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "packType", - "nodeType": "MemberAccess", - "referencedDeclaration": 6388, - "src": "2980:13:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6555, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6536, - "src": "2995:4:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 6556, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "buyer", - "nodeType": "MemberAccess", - "referencedDeclaration": 6390, - "src": "2995:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6557, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6536, - "src": "3019:4:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 6558, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "saleDistributionAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 6380, - "src": "3019:30:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6559, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6536, - "src": "3051:4:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 6560, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "saleDistributionAmounts", - "nodeType": "MemberAccess", - "referencedDeclaration": 6377, - "src": "3051:28:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - } - ], - "id": 6561, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2882:198:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_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_$", - "typeString": "tuple(uint256,uint256,uint256,uint256,string memory,string memory,string memory,address,address[] memory,uint256[] memory)" - } - }, - "functionReturnParameters": 6534, - "id": 6562, - "nodeType": "Return", - "src": "2875:205:8" - } - ] - }, - "documentation": null, - "functionSelector": "15424e6e", - "id": 6564, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6511, - "modifierName": { - "argumentTypes": null, - "id": 6510, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7154, - "src": "2667:9:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2667:9:8" - } - ], - "name": "getPackbyId", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6509, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6508, - "name": "_packId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6564, - "src": "2643:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6507, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2643:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2642:17:8" - }, - "returnParameters": { - "id": 6534, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6513, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6564, - "src": "2686:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6512, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2686:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6515, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6564, - "src": "2695:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6514, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2695:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6517, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6564, - "src": "2704:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6516, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2704:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6519, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6564, - "src": "2713:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6518, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2713:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6521, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6564, - "src": "2722:13:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 6520, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2722:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6523, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6564, - "src": "2737:13:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 6522, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2737:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6525, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6564, - "src": "2752:13:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 6524, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2752:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6527, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6564, - "src": "2767:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6526, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2767:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6530, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6564, - "src": "2785:16:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 6528, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2785:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6529, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2785:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6533, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6564, - "src": "2803:16:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 6531, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2803:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6532, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2803:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2685:135:8" - }, - "scope": 7124, - "src": "2622:465:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6586, - "nodeType": "Block", - "src": "3161:105:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6583, - "name": "_realFvrTokenPriceUSD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6358, - "src": "3237:21:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 6580, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 6576, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3202:2:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 6577, - "name": "_purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6308, - "src": "3206:14:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "typeString": "contract ERC20" - } - }, - "id": 6578, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 7659, - "src": "3206:23:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint8_$", - "typeString": "function () view external returns (uint8)" - } - }, - "id": 6579, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3206:25:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "3202:29:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6571, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6327, - "src": "3178:5:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$6391_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 6573, - "indexExpression": { - "argumentTypes": null, - "id": 6572, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6566, - "src": "3184:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3178:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 6574, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 6382, - "src": "3178:19:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6575, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7473, - "src": "3178:23: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": 6581, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3178:54:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6582, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7494, - "src": "3178:58: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": 6584, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3178:81:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 6570, - "id": 6585, - "nodeType": "Return", - "src": "3171:88:8" - } - ] - }, - "documentation": null, - "functionSelector": "84a50270", - "id": 6587, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getPackPriceInFVR", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6567, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6566, - "name": "packId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6587, - "src": "3120:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6565, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3120:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3119:16:8" - }, - "returnParameters": { - "id": 6570, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6569, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6587, - "src": "3152:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6568, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3152:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3151:9:8" - }, - "scope": 7124, - "src": "3093:173:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6716, - "nodeType": "Block", - "src": "3312:879:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6594, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "3330:8:8", - "subExpression": { - "argumentTypes": null, - "id": 6593, - "name": "_closed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6361, - "src": "3331:7:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4f70656e6572206973206c6f636b6564", - "id": 6595, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3340:18:8", - "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": 6592, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3322: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": "3322:37:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6597, - "nodeType": "ExpressionStatement", - "src": "3322:37:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 6607, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6599, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6327, - "src": "3377:5:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$6391_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 6601, - "indexExpression": { - "argumentTypes": null, - "id": 6600, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6589, - "src": "3383:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3377:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 6602, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "buyer", - "nodeType": "MemberAccess", - "referencedDeclaration": 6390, - "src": "3377:19:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 6605, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3408: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": 6604, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3400:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6603, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3400:7:8", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6606, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3400:10:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "3377:33:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5061636b2077617320616c726561647920626f75676874", - "id": 6608, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3412:25:8", - "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": 6598, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3369:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6609, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3369:69:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6610, - "nodeType": "ExpressionStatement", - "src": "3369:69:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6617, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6612, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6327, - "src": "3456:5:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$6391_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 6614, - "indexExpression": { - "argumentTypes": null, - "id": 6613, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6589, - "src": "3462:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3456:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 6615, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 6382, - "src": "3456:19:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6616, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3479:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3456:24:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5061636b2068617320746f206578697374", - "id": 6618, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3482:19:8", - "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": 6611, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3448:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3448:54:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6620, - "nodeType": "ExpressionStatement", - "src": "3448:54:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6622, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6327, - "src": "3520:5:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$6391_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 6624, - "indexExpression": { - "argumentTypes": null, - "id": 6623, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6589, - "src": "3526:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3520:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 6625, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 6382, - "src": "3520:19:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 6626, - "name": "_realFvrTokenPriceUSD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6358, - "src": "3543:21:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3520:44:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "507269636520696e207265616c4676722068617320746f20626520686967686572207468616e20756e6974207072696365206f6620746865207061636b", - "id": 6628, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3566:63:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c96b0b7bc1b6316479f4fefd298690bfb1541d25b40a6317aab74a31d1be0ef1", - "typeString": "literal_string \"Price in realFvr has to be higher than unit price of the pack\"" - }, - "value": "Price in realFvr has to be higher than unit price of the pack" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c96b0b7bc1b6316479f4fefd298690bfb1541d25b40a6317aab74a31d1be0ef1", - "typeString": "literal_string \"Price in realFvr has to be higher than unit price of the pack\"" - } - ], - "id": 6621, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3512: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": "3512:118:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6630, - "nodeType": "ExpressionStatement", - "src": "3512:118:8" - }, - { - "assignments": [ - 6632 - ], - "declarations": [ - { - "constant": false, - "id": 6632, - "name": "price", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6716, - "src": "3641:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6631, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3641:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6636, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6634, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6589, - "src": "3675:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6633, - "name": "getPackPriceInFVR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6587, - "src": "3657:17:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) returns (uint256)" - } - }, - "id": 6635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3657:25:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3641:41:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6648, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6640, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3726:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6641, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3726:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6644, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "3746:4:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_OpenerRealFvr_$7124", - "typeString": "contract OpenerRealFvr" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_OpenerRealFvr_$7124", - "typeString": "contract OpenerRealFvr" - } - ], - "id": 6643, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3738:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6642, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3738:7:8", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6645, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3738:13:8", - "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": 6638, - "name": "_purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6308, - "src": "3701:14:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "typeString": "contract ERC20" - } - }, - "id": 6639, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "allowance", - "nodeType": "MemberAccess", - "referencedDeclaration": 7718, - "src": "3701:24:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view external returns (uint256)" - } - }, - "id": 6646, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3701:51:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 6647, - "name": "price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6632, - "src": "3756:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3701:60:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e6f7420656e6f756768206d6f6e657920706572207061636b", - "id": 6649, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3763:27:8", - "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": 6637, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3693:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6650, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3693:98:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6651, - "nodeType": "ExpressionStatement", - "src": "3693:98:8" - }, - { - "assignments": [ - 6653 - ], - "declarations": [ - { - "constant": false, - "id": 6653, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6716, - "src": "3802:12:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6652, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3802:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6656, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6654, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3817:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6655, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3817:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3802:25:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6658, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6653, - "src": "3860:4:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6659, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6589, - "src": "3866:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6660, - "name": "price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6632, - "src": "3874:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6657, - "name": "_distributePackShares", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6454, - "src": "3838:21:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 6661, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3838:42:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6662, - "nodeType": "ExpressionStatement", - "src": "3838:42:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6665, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6663, - "name": "_openedPacks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "3891:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 6664, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3907:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3891:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6666, - "nodeType": "ExpressionStatement", - "src": "3891:17:8" - }, - { - "body": { - "id": 6702, - "nodeType": "Block", - "src": "3968:139:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6692, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6680, - "name": "registeredIDs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6314, - "src": "3982:13:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_bool_$_$", - "typeString": "mapping(address => mapping(uint256 => bool))" - } - }, - "id": 6689, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6681, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3996:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6682, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3996:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3982:25:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - } - }, - "id": 6690, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6688, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6683, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6327, - "src": "4008:5:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$6391_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 6685, - "indexExpression": { - "argumentTypes": null, - "id": 6684, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6589, - "src": "4014:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4008:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 6686, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "initialNFTId", - "nodeType": "MemberAccess", - "referencedDeclaration": 6372, - "src": "4008:26:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 6687, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6668, - "src": "4035:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4008:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3982:55:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 6691, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4040:4:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "3982:62:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6693, - "nodeType": "ExpressionStatement", - "src": "3982:62:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6699, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6668, - "src": "4094:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6694, - "name": "registeredIDsArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6319, - "src": "4058:18:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 6697, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6695, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4077:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6696, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4077:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4058:30:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 6698, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4058:35:8", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 6700, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4058:38:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6701, - "nodeType": "ExpressionStatement", - "src": "4058:38:8" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6676, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6671, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6668, - "src": "3935:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6672, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6327, - "src": "3939:5:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$6391_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 6674, - "indexExpression": { - "argumentTypes": null, - "id": 6673, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6589, - "src": "3945:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3939:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 6675, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "nftAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 6368, - "src": "3939:23:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3935:27:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6703, - "initializationExpression": { - "assignments": [ - 6668 - ], - "declarations": [ - { - "constant": false, - "id": 6668, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6703, - "src": "3923:6:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6667, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3923:4:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6670, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 6669, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3932:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "3923:10:8" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 6678, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "3964:3:8", - "subExpression": { - "argumentTypes": null, - "id": 6677, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6668, - "src": "3964:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6679, - "nodeType": "ExpressionStatement", - "src": "3964:3:8" - }, - "nodeType": "ForStatement", - "src": "3919:188:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6709, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6704, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6327, - "src": "4117:5:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$6391_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 6706, - "indexExpression": { - "argumentTypes": null, - "id": 6705, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6589, - "src": "4123:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4117:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 6707, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "buyer", - "nodeType": "MemberAccess", - "referencedDeclaration": 6390, - "src": "4117:19:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6708, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6653, - "src": "4139:4:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "4117:26:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6710, - "nodeType": "ExpressionStatement", - "src": "4117:26:8" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6712, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6653, - "src": "4170:4:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6713, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6589, - "src": "4176:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6711, - "name": "PackOpened", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6351, - "src": "4159:10:8", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6714, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4159:24:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6715, - "nodeType": "EmitStatement", - "src": "4154:29:8" - } - ] - }, - "documentation": null, - "functionSelector": "dc45bfb3", - "id": 6717, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "buyPack", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6590, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6589, - "name": "packId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6717, - "src": "3289:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6588, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3289:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3288:16:8" - }, - "returnParameters": { - "id": 6591, - "nodeType": "ParameterList", - "parameters": [], - "src": "3312:0:8" - }, - "scope": 7124, - "src": "3272:919:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6873, - "nodeType": "Block", - "src": "4517:1028:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6747, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6743, - "name": "saleDistributionAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6737, - "src": "4536:23:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 6744, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4536:30:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6745, - "name": "saleDistributionAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6734, - "src": "4570:25:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 6746, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4570:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4536:66:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "73616c65446973747269627574696f6e204c656e6768747320617265206e6f74207468652073616d65", - "id": 6748, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4604:43:8", - "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": 6742, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4528:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6749, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4528:120:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6750, - "nodeType": "ExpressionStatement", - "src": "4528:120:8" - }, - { - "assignments": [ - 6752 - ], - "declarations": [ - { - "constant": false, - "id": 6752, - "name": "totalFees", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6873, - "src": "4658:17:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6751, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4658:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6754, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 6753, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4678:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "4658:21:8" - }, - { - "body": { - "id": 6772, - "nodeType": "Block", - "src": "4747:64:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6770, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6766, - "name": "totalFees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6752, - "src": "4761:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6767, - "name": "saleDistributionAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6737, - "src": "4774:23:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 6769, - "indexExpression": { - "argumentTypes": null, - "id": 6768, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6756, - "src": "4798:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4774:26:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4761:39:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6771, - "nodeType": "ExpressionStatement", - "src": "4761:39:8" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6762, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6759, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6756, - "src": "4705:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6760, - "name": "saleDistributionAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6734, - "src": "4709:25:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 6761, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4709:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4705:36:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6773, - "initializationExpression": { - "assignments": [ - 6756 - ], - "declarations": [ - { - "constant": false, - "id": 6756, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6773, - "src": "4693:6:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6755, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4693:4:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6758, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 6757, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4702:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "4693:10:8" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 6764, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "4743:3:8", - "subExpression": { - "argumentTypes": null, - "id": 6763, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6756, - "src": "4743:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6765, - "nodeType": "ExpressionStatement", - "src": "4743:3:8" - }, - "nodeType": "ForStatement", - "src": "4689:122:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6777, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6775, - "name": "totalFees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6752, - "src": "4828:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 6776, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4841:3:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "4828:16:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "53756d206f6620616c6c20616d6f756e74732068617320746f20657175616c20313030", - "id": 6778, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4846:37:8", - "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": 6774, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4820:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6779, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4820:64:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6780, - "nodeType": "ExpressionStatement", - "src": "4820:64:8" - }, - { - "assignments": [ - 6782 - ], - "declarations": [ - { - "constant": false, - "id": 6782, - "name": "pack", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6873, - "src": "4895:16:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack" - }, - "typeName": { - "contractScope": null, - "id": 6781, - "name": "Pack", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6391, - "src": "4895:4:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_storage_ptr", - "typeString": "struct OpenerRealFvr.Pack" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6786, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6783, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6327, - "src": "4914:5:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$6391_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 6785, - "indexExpression": { - "argumentTypes": null, - "id": 6784, - "name": "packIncrementId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6330, - "src": "4920:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4914:22:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4895:41:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6791, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6787, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6782, - "src": "4946:4:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 6789, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "packId", - "nodeType": "MemberAccess", - "referencedDeclaration": 6366, - "src": "4946:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6790, - "name": "packIncrementId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6330, - "src": "4960:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4946:29:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6792, - "nodeType": "ExpressionStatement", - "src": "4946:29:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6797, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6793, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6782, - "src": "4985:4:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 6795, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "packNumber", - "nodeType": "MemberAccess", - "referencedDeclaration": 6370, - "src": "4985:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6796, - "name": "packNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6719, - "src": "5003:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4985:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6798, - "nodeType": "ExpressionStatement", - "src": "4985:28:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6803, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6799, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6782, - "src": "5023:4:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 6801, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "nftAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 6368, - "src": "5023:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6802, - "name": "nftAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6721, - "src": "5040:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5023:26:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6804, - "nodeType": "ExpressionStatement", - "src": "5023:26:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6809, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6805, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6782, - "src": "5059:4:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 6807, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "saleStart", - "nodeType": "MemberAccess", - "referencedDeclaration": 6374, - "src": "5059:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6808, - "name": "saleStart", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6731, - "src": "5076:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5059:26:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6810, - "nodeType": "ExpressionStatement", - "src": "5059:26:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6815, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6811, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6782, - "src": "5095:4:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 6813, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "initialNFTId", - "nodeType": "MemberAccess", - "referencedDeclaration": 6372, - "src": "5095:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6814, - "name": "lastNFTID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6333, - "src": "5115:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5095:29:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6816, - "nodeType": "ExpressionStatement", - "src": "5095:29:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6821, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6817, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6782, - "src": "5134:4:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 6819, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 6382, - "src": "5134:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6820, - "name": "price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6723, - "src": "5147:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5134:18:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6822, - "nodeType": "ExpressionStatement", - "src": "5134:18:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6827, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6823, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6782, - "src": "5162:4:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 6825, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "serie", - "nodeType": "MemberAccess", - "referencedDeclaration": 6384, - "src": "5162:10:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6826, - "name": "serie", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6725, - "src": "5175:5:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "5162:18:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - }, - "id": 6828, - "nodeType": "ExpressionStatement", - "src": "5162:18:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6833, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6829, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6782, - "src": "5190:4:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 6831, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "drop", - "nodeType": "MemberAccess", - "referencedDeclaration": 6386, - "src": "5190:9:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6832, - "name": "drop", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6729, - "src": "5202:4:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "5190:16:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - }, - "id": 6834, - "nodeType": "ExpressionStatement", - "src": "5190:16:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6839, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6835, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6782, - "src": "5216:4:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 6837, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "saleDistributionAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 6380, - "src": "5216:30:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6838, - "name": "saleDistributionAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6734, - "src": "5249:25:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "src": "5216:58:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "id": 6840, - "nodeType": "ExpressionStatement", - "src": "5216:58:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6841, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6782, - "src": "5284:4:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 6843, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "saleDistributionAmounts", - "nodeType": "MemberAccess", - "referencedDeclaration": 6377, - "src": "5284:28:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6844, - "name": "saleDistributionAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6737, - "src": "5315:23:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "src": "5284:54:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "id": 6846, - "nodeType": "ExpressionStatement", - "src": "5284:54:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6851, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6847, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6782, - "src": "5348:4:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 6849, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "packType", - "nodeType": "MemberAccess", - "referencedDeclaration": 6388, - "src": "5348:13:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6850, - "name": "packType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6727, - "src": "5364:8:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "5348:24:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - }, - "id": 6852, - "nodeType": "ExpressionStatement", - "src": "5348:24:8" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6854, - "name": "packIncrementId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6330, - "src": "5400:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6855, - "name": "nftAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6721, - "src": "5417:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6856, - "name": "serie", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6725, - "src": "5428:5:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 6857, - "name": "packType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6727, - "src": "5435:8:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 6858, - "name": "drop", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6729, - "src": "5445:4:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "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": 6853, - "name": "PackCreated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6345, - "src": "5388:11:8", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (uint256,uint256,string memory,string memory,string memory)" - } - }, - "id": 6859, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5388:62:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6860, - "nodeType": "EmitStatement", - "src": "5383:67:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6865, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6861, - "name": "lastNFTID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6333, - "src": "5460:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6864, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6862, - "name": "lastNFTID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6333, - "src": "5472:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 6863, - "name": "nftAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6721, - "src": "5484:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5472:21:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5460:33:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6866, - "nodeType": "ExpressionStatement", - "src": "5460:33:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6871, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6867, - "name": "packIncrementId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6330, - "src": "5503:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6870, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6868, - "name": "packIncrementId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6330, - "src": "5521:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 6869, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5537:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "5521:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5503:35:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6872, - "nodeType": "ExpressionStatement", - "src": "5503:35:8" - } - ] - }, - "documentation": null, - "functionSelector": "1a27a338", - "id": 6874, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6740, - "modifierName": { - "argumentTypes": null, - "id": 6739, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7154, - "src": "4507:9:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4507:9:8" - } - ], - "name": "createPack", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6738, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6719, - "name": "packNumber", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6874, - "src": "4217:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6718, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4217:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6721, - "name": "nftAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6874, - "src": "4237:17:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6720, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4237:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6723, - "name": "price", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6874, - "src": "4256:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6722, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4256:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6725, - "name": "serie", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6874, - "src": "4302:19:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 6724, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4302:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6727, - "name": "packType", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6874, - "src": "4323:22:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 6726, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4323:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6729, - "name": "drop", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6874, - "src": "4347:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 6728, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4347:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6731, - "name": "saleStart", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6874, - "src": "4367:17:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6730, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4367:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6734, - "name": "saleDistributionAddresses", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6874, - "src": "4394:42:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 6732, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4394:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6733, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4394:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6737, - "name": "saleDistributionAmounts", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6874, - "src": "4439:40:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 6735, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4439:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6736, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4439:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4216:283:8" - }, - "returnParameters": { - "id": 6741, - "nodeType": "ParameterList", - "parameters": [], - "src": "4517:0:8" - }, - "scope": 7124, - "src": "4197:1348:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6950, - "nodeType": "Block", - "src": "5630:459:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6889, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6884, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6327, - "src": "5648:5:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$6391_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 6886, - "indexExpression": { - "argumentTypes": null, - "id": 6885, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6876, - "src": "5654:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5648:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 6887, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "packId", - "nodeType": "MemberAccess", - "referencedDeclaration": 6366, - "src": "5648:20:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 6888, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6876, - "src": "5672:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5648:30:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5061636b20646f6573206e6f74206578697374", - "id": 6890, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5680:21:8", - "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": 6883, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5640:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6891, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5640:62:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6892, - "nodeType": "ExpressionStatement", - "src": "5640:62:8" - }, - { - "assignments": [ - 6894 - ], - "declarations": [ - { - "constant": false, - "id": 6894, - "name": "pack", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6950, - "src": "5712:16:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack" - }, - "typeName": { - "contractScope": null, - "id": 6893, - "name": "Pack", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6391, - "src": "5712:4:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_storage_ptr", - "typeString": "struct OpenerRealFvr.Pack" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6898, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6895, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6327, - "src": "5731:5:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$6391_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 6897, - "indexExpression": { - "argumentTypes": null, - "id": 6896, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6876, - "src": "5737:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5731:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5712:32:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6904, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6899, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6327, - "src": "5754:5:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$6391_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 6901, - "indexExpression": { - "argumentTypes": null, - "id": 6900, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6876, - "src": "5760:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5754:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 6902, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "buyer", - "nodeType": "MemberAccess", - "referencedDeclaration": 6390, - "src": "5754:19:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6903, - "name": "receivingAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6878, - "src": "5776:16:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "5754:38:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6905, - "nodeType": "ExpressionStatement", - "src": "5754:38:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6908, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6906, - "name": "_openedPacks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6364, - "src": "5803:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 6907, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5819:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "5803:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6909, - "nodeType": "ExpressionStatement", - "src": "5803:17:8" - }, - { - "body": { - "id": 6943, - "nodeType": "Block", - "src": "5880:151:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6934, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6923, - "name": "registeredIDs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6314, - "src": "5894:13:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_bool_$_$", - "typeString": "mapping(address => mapping(uint256 => bool))" - } - }, - "id": 6931, - "indexExpression": { - "argumentTypes": null, - "id": 6924, - "name": "receivingAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6878, - "src": "5908:16:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5894:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - } - }, - "id": 6932, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6930, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6925, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6327, - "src": "5926:5:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$6391_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 6927, - "indexExpression": { - "argumentTypes": null, - "id": 6926, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6876, - "src": "5932:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5926:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 6928, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "initialNFTId", - "nodeType": "MemberAccess", - "referencedDeclaration": 6372, - "src": "5926:26:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 6929, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6911, - "src": "5953:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5926:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5894:61:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 6933, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5958:4:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "5894:68:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6935, - "nodeType": "ExpressionStatement", - "src": "5894:68:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6940, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6911, - "src": "6018:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6936, - "name": "registeredIDsArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6319, - "src": "5976:18:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 6938, - "indexExpression": { - "argumentTypes": null, - "id": 6937, - "name": "receivingAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6878, - "src": "5995:16:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5976:36:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 6939, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5976:41:8", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 6941, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5976:44:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6942, - "nodeType": "ExpressionStatement", - "src": "5976:44:8" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6919, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6914, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6911, - "src": "5847:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6915, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6327, - "src": "5851:5:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$6391_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 6917, - "indexExpression": { - "argumentTypes": null, - "id": 6916, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6876, - "src": "5857:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5851:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 6918, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "nftAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 6368, - "src": "5851:23:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5847:27:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6944, - "initializationExpression": { - "assignments": [ - 6911 - ], - "declarations": [ - { - "constant": false, - "id": 6911, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6944, - "src": "5835:6:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6910, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "5835:4:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6913, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 6912, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5844:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "5835:10:8" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 6921, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "5876:3:8", - "subExpression": { - "argumentTypes": null, - "id": 6920, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6911, - "src": "5876:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6922, - "nodeType": "ExpressionStatement", - "src": "5876:3:8" - }, - "nodeType": "ForStatement", - "src": "5831:200:8" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6946, - "name": "receivingAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6878, - "src": "6057:16:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6947, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6876, - "src": "6075:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6945, - "name": "PackOpened", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6351, - "src": "6046:10:8", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 6948, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6046:36:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6949, - "nodeType": "EmitStatement", - "src": "6041:41:8" - } - ] - }, - "documentation": null, - "functionSelector": "ec6923a1", - "id": 6951, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6881, - "modifierName": { - "argumentTypes": null, - "id": 6880, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7154, - "src": "5620:9:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "5620:9:8" - } - ], - "name": "offerPack", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6879, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6876, - "name": "packId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6951, - "src": "5571:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6875, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5571:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6878, - "name": "receivingAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6951, - "src": "5587:24:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6877, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5587:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5570:42:8" - }, - "returnParameters": { - "id": 6882, - "nodeType": "ParameterList", - "parameters": [], - "src": "5630:0:8" - }, - "scope": 7124, - "src": "5552:537:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7014, - "nodeType": "Block", - "src": "6251:295:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6975, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6969, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "6269:5:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 6970, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6269:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6971, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6327, - "src": "6287:5:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$6391_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 6973, - "indexExpression": { - "argumentTypes": null, - "id": 6972, - "name": "_packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6953, - "src": "6293:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6287:14:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 6974, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "saleStart", - "nodeType": "MemberAccess", - "referencedDeclaration": 6374, - "src": "6287:24:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6269:42:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "53616c6520697320616c7265616479206c697665", - "id": 6976, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6313:22:8", - "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": 6968, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6261:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6977, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6261:75:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6978, - "nodeType": "ExpressionStatement", - "src": "6261:75:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6979, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6327, - "src": "6346:5:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$6391_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 6981, - "indexExpression": { - "argumentTypes": null, - "id": 6980, - "name": "_packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6953, - "src": "6352:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6346:14:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 6982, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "saleStart", - "nodeType": "MemberAccess", - "referencedDeclaration": 6374, - "src": "6346:24:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6983, - "name": "_saleStart", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6955, - "src": "6373:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6346:37:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6985, - "nodeType": "ExpressionStatement", - "src": "6346:37:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6991, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6986, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6327, - "src": "6393:5:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$6391_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 6988, - "indexExpression": { - "argumentTypes": null, - "id": 6987, - "name": "_packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6953, - "src": "6399:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6393:14:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 6989, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "serie", - "nodeType": "MemberAccess", - "referencedDeclaration": 6384, - "src": "6393:20:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6990, - "name": "serie", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6957, - "src": "6416:5:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "6393:28:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 6992, - "nodeType": "ExpressionStatement", - "src": "6393:28:8" - }, - { - "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": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6327, - "src": "6431:5:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$6391_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 6995, - "indexExpression": { - "argumentTypes": null, - "id": 6994, - "name": "_packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6953, - "src": "6437:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6431:14:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 6996, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "packType", - "nodeType": "MemberAccess", - "referencedDeclaration": 6388, - "src": "6431:23:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6997, - "name": "packType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6959, - "src": "6457:8:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "6431:34:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 6999, - "nodeType": "ExpressionStatement", - "src": "6431:34:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 7005, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7000, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6327, - "src": "6475:5:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$6391_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 7002, - "indexExpression": { - "argumentTypes": null, - "id": 7001, - "name": "_packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6953, - "src": "6481:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6475:14:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 7003, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "drop", - "nodeType": "MemberAccess", - "referencedDeclaration": 6386, - "src": "6475:19:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 7004, - "name": "drop", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6961, - "src": "6497:4:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "6475:26:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 7006, - "nodeType": "ExpressionStatement", - "src": "6475:26:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 7012, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7007, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6327, - "src": "6511:5:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$6391_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 7009, - "indexExpression": { - "argumentTypes": null, - "id": 7008, - "name": "_packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6953, - "src": "6517:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6511:14:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 7010, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 6382, - "src": "6511:20:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 7011, - "name": "price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6963, - "src": "6534:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6511:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7013, - "nodeType": "ExpressionStatement", - "src": "6511:28:8" - } - ] - }, - "documentation": null, - "functionSelector": "3a307f61", - "id": 7015, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6966, - "modifierName": { - "argumentTypes": null, - "id": 6965, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7154, - "src": "6241:9:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "6241:9:8" - } - ], - "name": "editPackInfo", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6964, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6953, - "name": "_packId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7015, - "src": "6117:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6952, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6117:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6955, - "name": "_saleStart", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7015, - "src": "6134:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6954, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6134:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6957, - "name": "serie", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7015, - "src": "6154:19:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 6956, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "6154:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6959, - "name": "packType", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7015, - "src": "6175:22:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 6958, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "6175:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6961, - "name": "drop", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7015, - "src": "6199:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 6960, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "6199:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6963, - "name": "price", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7015, - "src": "6219:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6962, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6219:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6116:117:8" - }, - "returnParameters": { - "id": 6967, - "nodeType": "ParameterList", - "parameters": [], - "src": "6251:0:8" - }, - "scope": 7124, - "src": "6095:451:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7042, - "nodeType": "Block", - "src": "6609:154:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7029, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7023, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "6627:5:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 7024, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6627:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7025, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6327, - "src": "6645:5:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$6391_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 7027, - "indexExpression": { - "argumentTypes": null, - "id": 7026, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7017, - "src": "6651:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6645:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 7028, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "saleStart", - "nodeType": "MemberAccess", - "referencedDeclaration": 6374, - "src": "6645:23:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6627:41:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "53616c6520697320616c7265616479206c697665", - "id": 7030, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6670:22:8", - "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": 7022, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6619:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7031, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6619:74:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7032, - "nodeType": "ExpressionStatement", - "src": "6619:74:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 7036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "6703:20:8", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7033, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6327, - "src": "6710:5:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$6391_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 7035, - "indexExpression": { - "argumentTypes": null, - "id": 7034, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7017, - "src": "6716:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6710:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$6391_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7037, - "nodeType": "ExpressionStatement", - "src": "6703:20:8" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7039, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7017, - "src": "6749:6:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7038, - "name": "PackDelete", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6355, - "src": "6738:10:8", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 7040, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6738:18:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7041, - "nodeType": "EmitStatement", - "src": "6733:23:8" - } - ] - }, - "documentation": null, - "functionSelector": "ec90a293", - "id": 7043, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 7020, - "modifierName": { - "argumentTypes": null, - "id": 7019, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7154, - "src": "6599:9:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "6599:9:8" - } - ], - "name": "deletePackById", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7018, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7017, - "name": "packId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7043, - "src": "6576:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7016, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6576:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6575:16:8" - }, - "returnParameters": { - "id": 7021, - "nodeType": "ParameterList", - "parameters": [], - "src": "6609:0:8" - }, - "scope": 7124, - "src": "6552:211:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7078, - "nodeType": "Block", - "src": "6813:278:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7049, - "name": "registeredIDs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6314, - "src": "6831:13:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_bool_$_$", - "typeString": "mapping(address => mapping(uint256 => bool))" - } - }, - "id": 7052, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7050, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6845:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7051, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6845:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6831:25:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - } - }, - "id": 7054, - "indexExpression": { - "argumentTypes": null, - "id": 7053, - "name": "tokenIdToMint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7045, - "src": "6857:13:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6831:40:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "546f6b656e20776173206e6f742072656769737465726564206f72206e6f742074686520726967687466756c206f776e6572", - "id": 7055, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6873:52:8", - "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": 7048, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6823:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7056, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6823:103:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7057, - "nodeType": "ExpressionStatement", - "src": "6823:103:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7062, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "6944:29:8", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7059, - "name": "alreadyMinted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6323, - "src": "6945:13:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - } - }, - "id": 7061, - "indexExpression": { - "argumentTypes": null, - "id": 7060, - "name": "tokenIdToMint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7045, - "src": "6959:13:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6945:28:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416c7265616479206d696e746564", - "id": 7063, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6975:16:8", - "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": 7058, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6936:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7064, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6936:56:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7065, - "nodeType": "ExpressionStatement", - "src": "6936:56:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 7070, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7066, - "name": "alreadyMinted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6323, - "src": "7003:13:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - } - }, - "id": 7068, - "indexExpression": { - "argumentTypes": null, - "id": 7067, - "name": "tokenIdToMint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7045, - "src": "7017:13:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7003:28:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7069, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7034:4:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "7003:35:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 7071, - "nodeType": "ExpressionStatement", - "src": "7003:35:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7073, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7058:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7074, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7058:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7075, - "name": "tokenIdToMint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7045, - "src": "7070:13:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7072, - "name": "_safeMint", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 8704, - 8732 - ], - "referencedDeclaration": 8704, - "src": "7048:9:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 7076, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7048:36:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7077, - "nodeType": "ExpressionStatement", - "src": "7048:36:8" - } - ] - }, - "documentation": null, - "functionSelector": "a0712d68", - "id": 7079, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7046, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7045, - "name": "tokenIdToMint", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7079, - "src": "6783:21:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7044, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6783:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6782:23:8" - }, - "returnParameters": { - "id": 7047, - "nodeType": "ParameterList", - "parameters": [], - "src": "6813:0:8" - }, - "scope": 7124, - "src": "6769:322:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7090, - "nodeType": "Block", - "src": "7168:47:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7088, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7086, - "name": "_purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6308, - "src": "7178:14:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "typeString": "contract ERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 7087, - "name": "purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7081, - "src": "7195:13:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "typeString": "contract ERC20" - } - }, - "src": "7178:30:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "typeString": "contract ERC20" - } - }, - "id": 7089, - "nodeType": "ExpressionStatement", - "src": "7178:30:8" - } - ] - }, - "documentation": null, - "functionSelector": "298489d2", - "id": 7091, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 7084, - "modifierName": { - "argumentTypes": null, - "id": 7083, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7154, - "src": "7158:9:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "7158:9:8" - } - ], - "name": "setPurchaseTokenAddress", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7082, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7081, - "name": "purchaseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7091, - "src": "7130:19:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 7080, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8069, - "src": "7130:5:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7129:21:8" - }, - "returnParameters": { - "id": 7085, - "nodeType": "ParameterList", - "parameters": [], - "src": "7168:0:8" - }, - "scope": 7124, - "src": "7097:118:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7102, - "nodeType": "Block", - "src": "7304:102:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7100, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7098, - "name": "_realFvrTokenPriceUSD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6358, - "src": "7314:21:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 7099, - "name": "newPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7093, - "src": "7338:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7314:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7101, - "nodeType": "ExpressionStatement", - "src": "7314:32:8" - } - ] - }, - "documentation": null, - "functionSelector": "5eeb57c0", - "id": 7103, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 7096, - "modifierName": { - "argumentTypes": null, - "id": 7095, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7154, - "src": "7294:9:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "7294:9:8" - } - ], - "name": "setTokenPriceInUSD", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7094, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7093, - "name": "newPrice", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7103, - "src": "7249:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7092, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7249:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7248:38:8" - }, - "returnParameters": { - "id": 7097, - "nodeType": "ParameterList", - "parameters": [], - "src": "7304:0:8" - }, - "scope": 7124, - "src": "7221:185:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7112, - "nodeType": "Block", - "src": "7445:31:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7110, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7108, - "name": "_closed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6361, - "src": "7455:7:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7109, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7465:4:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "7455:14:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 7111, - "nodeType": "ExpressionStatement", - "src": "7455:14:8" - } - ] - }, - "documentation": null, - "functionSelector": "f83d08ba", - "id": 7113, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 7106, - "modifierName": { - "argumentTypes": null, - "id": 7105, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7154, - "src": "7435:9:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "7435:9:8" - } - ], - "name": "lock", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7104, - "nodeType": "ParameterList", - "parameters": [], - "src": "7425:2:8" - }, - "returnParameters": { - "id": 7107, - "nodeType": "ParameterList", - "parameters": [], - "src": "7445:0:8" - }, - "scope": 7124, - "src": "7412:64:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7122, - "nodeType": "Block", - "src": "7517:32:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7120, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7118, - "name": "_closed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6361, - "src": "7527:7:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 7119, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7537:5:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "7527:15:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 7121, - "nodeType": "ExpressionStatement", - "src": "7527:15:8" - } - ] - }, - "documentation": null, - "functionSelector": "a69df4b5", - "id": 7123, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 7116, - "modifierName": { - "argumentTypes": null, - "id": 7115, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7154, - "src": "7507:9:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "7507:9:8" - } - ], - "name": "unlock", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7114, - "nodeType": "ParameterList", - "parameters": [], - "src": "7497:2:8" - }, - "returnParameters": { - "id": 7117, - "nodeType": "ParameterList", - "parameters": [], - "src": "7517:0:8" - }, - "scope": 7124, - "src": "7482:67:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - } - ], - "scope": 7125, - "src": "205:7346:8" - } - ], - "src": "33:7518:8" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.20", - "updatedAt": "2021-05-11T16:04:02.503Z", - "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 6eb55f61..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:9:-:0;;;477:56;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;508:5:9;:18;;-1:-1:-1;;;;;;508:18:9;516:10;508:18;;;216:838;;;;;;", - "deployedSourceMap": "216:838:9:-:0;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;216:838:9;;;;;;;;;;;;;;;;;;;;;;;;239:20;;;:::i;:::-;;;;-1:-1:-1;;;;;239:20:9;;;;;;;;;;;;;;864:188;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;864:188:9;-1:-1:-1;;;;;864:188:9;;:::i;:::-;;239:20;;;-1:-1:-1;;;;;239:20:9;;:::o;864:188::-;672:5;;-1:-1:-1;;;;;672:5:9;658:10;:19;650:28;;;;;;-1:-1:-1;;;;;944:22:9;::::1;936:31;;;::::0;::::1;;1003:5;::::0;;982:37:::1;::::0;-1:-1:-1;;;;;982:37:9;;::::1;::::0;1003:5;::::1;::::0;982:37:::1;::::0;::::1;1029:5;:16:::0;;-1:-1:-1;;;;;;1029:16:9::1;-1:-1:-1::0;;;;;1029:16:9;;;::::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": [ - 7181 - ] - }, - "id": 7182, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 7126, - "literals": [ - "solidity", - ">=", - "0.6", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:24:9" - }, - { - "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": 7181, - "linearizedBaseContracts": [ - 7181 - ], - "name": "Ownable", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "8da5cb5b", - "id": 7128, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7181, - "src": "239:20:9", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7127, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "239:7:9", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 7134, - "name": "OwnershipTransferred", - "nodeType": "EventDefinition", - "parameters": { - "id": 7133, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7130, - "indexed": true, - "name": "previousOwner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7134, - "src": "292:29:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7129, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "292:7:9", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7132, - "indexed": true, - "name": "newOwner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7134, - "src": "323:24:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7131, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "323:7:9", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "291:57:9" - }, - "src": "265:84:9" - }, - { - "body": { - "id": 7142, - "nodeType": "Block", - "src": "498:35:9", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7140, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7137, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7128, - "src": "508:5:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7138, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "516:3:9", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7139, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "516:10:9", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "508:18:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 7141, - "nodeType": "ExpressionStatement", - "src": "508:18:9" - } - ] - }, - "documentation": "@dev The Ownable constructor sets the original `owner` of the contract to the sender\naccount.", - "id": 7143, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7135, - "nodeType": "ParameterList", - "parameters": [], - "src": "488:2:9" - }, - "returnParameters": { - "id": 7136, - "nodeType": "ParameterList", - "parameters": [], - "src": "498:0:9" - }, - "scope": 7181, - "src": "477:56:9", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7153, - "nodeType": "Block", - "src": "640:56:9", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 7149, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7146, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "658:3:9", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7147, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "658:10:9", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 7148, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7128, - "src": "672:5:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "658:19:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 7145, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "650:7:9", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 7150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "650:28:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7151, - "nodeType": "ExpressionStatement", - "src": "650:28:9" - }, - { - "id": 7152, - "nodeType": "PlaceholderStatement", - "src": "688:1:9" - } - ] - }, - "documentation": "@dev Throws if called by any account other than the owner.", - "id": 7154, - "name": "onlyOwner", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 7144, - "nodeType": "ParameterList", - "parameters": [], - "src": "637:2:9" - }, - "src": "619:77:9", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7179, - "nodeType": "Block", - "src": "926:126:9", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 7167, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7162, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7156, - "src": "944:8:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 7165, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "964: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": 7164, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "956:7:9", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 7163, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "956:7:9", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 7166, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "956:10:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "944:22:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 7161, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "936:7:9", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 7168, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "936:31:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7169, - "nodeType": "ExpressionStatement", - "src": "936:31:9" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7171, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7128, - "src": "1003:5:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7172, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7156, - "src": "1010:8:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 7170, - "name": "OwnershipTransferred", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7134, - "src": "982:20:9", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 7173, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "982:37:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7174, - "nodeType": "EmitStatement", - "src": "977:42:9" - }, - { - "expression": { - "argumentTypes": null, - "id": 7177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7175, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7128, - "src": "1029:5:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 7176, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7156, - "src": "1037:8:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1029:16:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 7178, - "nodeType": "ExpressionStatement", - "src": "1029:16:9" - } - ] - }, - "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": 7180, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 7159, - "modifierName": { - "argumentTypes": null, - "id": 7158, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7154, - "src": "916:9:9", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "916:9:9" - } - ], - "name": "transferOwnership", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7157, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7156, - "name": "newOwner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7180, - "src": "891:16:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7155, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "891:7:9", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "890:18:9" - }, - "returnParameters": { - "id": 7160, - "nodeType": "ParameterList", - "parameters": [], - "src": "926:0:9" - }, - "scope": 7181, - "src": "864:188:9", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - } - ], - "scope": 7182, - "src": "216:838:9" - } - ], - "src": "0:1055:9" - }, - "legacyAST": { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Ownable.sol", - "exportedSymbols": { - "Ownable": [ - 7181 - ] - }, - "id": 7182, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 7126, - "literals": [ - "solidity", - ">=", - "0.6", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:24:9" - }, - { - "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": 7181, - "linearizedBaseContracts": [ - 7181 - ], - "name": "Ownable", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "8da5cb5b", - "id": 7128, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7181, - "src": "239:20:9", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7127, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "239:7:9", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 7134, - "name": "OwnershipTransferred", - "nodeType": "EventDefinition", - "parameters": { - "id": 7133, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7130, - "indexed": true, - "name": "previousOwner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7134, - "src": "292:29:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7129, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "292:7:9", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7132, - "indexed": true, - "name": "newOwner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7134, - "src": "323:24:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7131, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "323:7:9", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "291:57:9" - }, - "src": "265:84:9" - }, - { - "body": { - "id": 7142, - "nodeType": "Block", - "src": "498:35:9", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7140, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7137, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7128, - "src": "508:5:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7138, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "516:3:9", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7139, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "516:10:9", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "508:18:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 7141, - "nodeType": "ExpressionStatement", - "src": "508:18:9" - } - ] - }, - "documentation": "@dev The Ownable constructor sets the original `owner` of the contract to the sender\naccount.", - "id": 7143, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7135, - "nodeType": "ParameterList", - "parameters": [], - "src": "488:2:9" - }, - "returnParameters": { - "id": 7136, - "nodeType": "ParameterList", - "parameters": [], - "src": "498:0:9" - }, - "scope": 7181, - "src": "477:56:9", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7153, - "nodeType": "Block", - "src": "640:56:9", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 7149, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7146, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "658:3:9", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7147, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "658:10:9", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 7148, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7128, - "src": "672:5:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "658:19:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 7145, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "650:7:9", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 7150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "650:28:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7151, - "nodeType": "ExpressionStatement", - "src": "650:28:9" - }, - { - "id": 7152, - "nodeType": "PlaceholderStatement", - "src": "688:1:9" - } - ] - }, - "documentation": "@dev Throws if called by any account other than the owner.", - "id": 7154, - "name": "onlyOwner", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 7144, - "nodeType": "ParameterList", - "parameters": [], - "src": "637:2:9" - }, - "src": "619:77:9", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7179, - "nodeType": "Block", - "src": "926:126:9", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 7167, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7162, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7156, - "src": "944:8:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 7165, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "964: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": 7164, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "956:7:9", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 7163, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "956:7:9", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 7166, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "956:10:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "944:22:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 7161, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "936:7:9", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 7168, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "936:31:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7169, - "nodeType": "ExpressionStatement", - "src": "936:31:9" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7171, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7128, - "src": "1003:5:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7172, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7156, - "src": "1010:8:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 7170, - "name": "OwnershipTransferred", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7134, - "src": "982:20:9", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 7173, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "982:37:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7174, - "nodeType": "EmitStatement", - "src": "977:42:9" - }, - { - "expression": { - "argumentTypes": null, - "id": 7177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7175, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7128, - "src": "1029:5:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 7176, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7156, - "src": "1037:8:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1029:16:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 7178, - "nodeType": "ExpressionStatement", - "src": "1029:16:9" - } - ] - }, - "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": 7180, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 7159, - "modifierName": { - "argumentTypes": null, - "id": 7158, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7154, - "src": "916:9:9", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "916:9:9" - } - ], - "name": "transferOwnership", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7157, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7156, - "name": "newOwner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7180, - "src": "891:16:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7155, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "891:7:9", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "890:18:9" - }, - "returnParameters": { - "id": 7160, - "nodeType": "ParameterList", - "parameters": [], - "src": "926:0:9" - }, - "scope": 7181, - "src": "864:188:9", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - } - ], - "scope": 7182, - "src": "216:838:9" - } - ], - "src": "0:1055:9" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.20", - "updatedAt": "2021-05-11T16:04:02.511Z", - "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 3df030b0..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": [ - 10625 - ] - }, - "id": 10626, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 10544, - "literals": [ - "solidity", - ">=", - "0.6", - ".0", - "<", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:31:24" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Context.sol", - "file": "./Context.sol", - "id": 10545, - "nodeType": "ImportDirective", - "scope": 10626, - "sourceUnit": 9529, - "src": "66:23:24", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": true, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 10546, - "name": "Context", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9528, - "src": "561:7:24", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Context_$9528", - "typeString": "contract Context" - } - }, - "id": 10547, - "nodeType": "InheritanceSpecifier", - "src": "561:7:24" - } - ], - "contractDependencies": [ - 9528 - ], - "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": 10625, - "linearizedBaseContracts": [ - 10625, - 9528 - ], - "name": "Pausable", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": "@dev Emitted when the pause is triggered by `account`.", - "id": 10551, - "name": "Paused", - "nodeType": "EventDefinition", - "parameters": { - "id": 10550, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10549, - "indexed": false, - "name": "account", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10551, - "src": "666:15:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10548, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "666:7:24", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "665:17:24" - }, - "src": "653:30:24" - }, - { - "anonymous": false, - "documentation": "@dev Emitted when the pause is lifted by `account`.", - "id": 10555, - "name": "Unpaused", - "nodeType": "EventDefinition", - "parameters": { - "id": 10554, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10553, - "indexed": false, - "name": "account", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10555, - "src": "779:15:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10552, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "779:7:24", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "778:17:24" - }, - "src": "764:32:24" - }, - { - "constant": false, - "id": 10557, - "name": "_paused", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10625, - "src": "802:20:24", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10556, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "802:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "private" - }, - { - "body": { - "id": 10564, - "nodeType": "Block", - "src": "925:32:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10562, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10560, - "name": "_paused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10557, - "src": "935:7:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 10561, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "945:5:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "935:15:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 10563, - "nodeType": "ExpressionStatement", - "src": "935:15:24" - } - ] - }, - "documentation": "@dev Initializes the contract in unpaused state.", - "id": 10565, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10558, - "nodeType": "ParameterList", - "parameters": [], - "src": "913:2:24" - }, - "returnParameters": { - "id": 10559, - "nodeType": "ParameterList", - "parameters": [], - "src": "925:0:24" - }, - "scope": 10625, - "src": "901:56:24", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10572, - "nodeType": "Block", - "src": "1105:31:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10570, - "name": "_paused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10557, - "src": "1122:7:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 10569, - "id": 10571, - "nodeType": "Return", - "src": "1115:14:24" - } - ] - }, - "documentation": "@dev Returns true if the contract is paused, and false otherwise.", - "functionSelector": "5c975abb", - "id": 10573, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "paused", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10566, - "nodeType": "ParameterList", - "parameters": [], - "src": "1067:2:24" - }, - "returnParameters": { - "id": 10569, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10568, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10573, - "src": "1099:4:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10567, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1099:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1098:6:24" - }, - "scope": 10625, - "src": "1052:84:24", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 10583, - "nodeType": "Block", - "src": "1347:66:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10578, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "1365:9:24", - "subExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 10576, - "name": "paused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10573, - "src": "1366:6:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", - "typeString": "function () view returns (bool)" - } - }, - "id": 10577, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1366:8:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5061757361626c653a20706175736564", - "id": 10579, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1376:18:24", - "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": 10575, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1357:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 10580, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1357:38:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10581, - "nodeType": "ExpressionStatement", - "src": "1357:38:24" - }, - { - "id": 10582, - "nodeType": "PlaceholderStatement", - "src": "1405:1:24" - } - ] - }, - "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": 10584, - "name": "whenNotPaused", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 10574, - "nodeType": "ParameterList", - "parameters": [], - "src": "1344:2:24" - }, - "src": "1322:91:24", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10593, - "nodeType": "Block", - "src": "1613:69:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 10587, - "name": "paused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10573, - "src": "1631:6:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", - "typeString": "function () view returns (bool)" - } - }, - "id": 10588, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1631:8:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5061757361626c653a206e6f7420706175736564", - "id": 10589, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1641:22:24", - "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": 10586, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1623:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 10590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1623:41:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10591, - "nodeType": "ExpressionStatement", - "src": "1623:41:24" - }, - { - "id": 10592, - "nodeType": "PlaceholderStatement", - "src": "1674:1:24" - } - ] - }, - "documentation": "@dev Modifier to make a function callable only when the contract is paused.\n * Requirements:\n * - The contract must be paused.", - "id": 10594, - "name": "whenPaused", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 10585, - "nodeType": "ParameterList", - "parameters": [], - "src": "1610:2:24" - }, - "src": "1591:91:24", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10608, - "nodeType": "Block", - "src": "1866:66:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10601, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10599, - "name": "_paused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10557, - "src": "1876:7:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 10600, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1886:4:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "1876:14:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 10602, - "nodeType": "ExpressionStatement", - "src": "1876:14:24" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 10604, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9516, - "src": "1912:10:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 10605, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1912:12:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 10603, - "name": "Paused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10551, - "src": "1905:6:24", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 10606, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1905:20:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10607, - "nodeType": "EmitStatement", - "src": "1900:25:24" - } - ] - }, - "documentation": "@dev Triggers stopped state.\n * Requirements:\n * - The contract must not be paused.", - "id": 10609, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 10597, - "modifierName": { - "argumentTypes": null, - "id": 10596, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10584, - "src": "1852:13:24", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1852:13:24" - } - ], - "name": "_pause", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10595, - "nodeType": "ParameterList", - "parameters": [], - "src": "1832:2:24" - }, - "returnParameters": { - "id": 10598, - "nodeType": "ParameterList", - "parameters": [], - "src": "1866:0:24" - }, - "scope": 10625, - "src": "1817:115:24", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 10623, - "nodeType": "Block", - "src": "2112:69:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10616, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10614, - "name": "_paused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10557, - "src": "2122:7:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 10615, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2132:5:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "2122:15:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 10617, - "nodeType": "ExpressionStatement", - "src": "2122:15:24" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 10619, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9516, - "src": "2161:10:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 10620, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2161:12:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 10618, - "name": "Unpaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10555, - "src": "2152:8:24", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 10621, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2152:22:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10622, - "nodeType": "EmitStatement", - "src": "2147:27:24" - } - ] - }, - "documentation": "@dev Returns to normal state.\n * Requirements:\n * - The contract must be paused.", - "id": 10624, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 10612, - "modifierName": { - "argumentTypes": null, - "id": 10611, - "name": "whenPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10594, - "src": "2101:10:24", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2101:10:24" - } - ], - "name": "_unpause", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10610, - "nodeType": "ParameterList", - "parameters": [], - "src": "2081:2:24" - }, - "returnParameters": { - "id": 10613, - "nodeType": "ParameterList", - "parameters": [], - "src": "2112:0:24" - }, - "scope": 10625, - "src": "2064:117:24", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - } - ], - "scope": 10626, - "src": "531:1652:24" - } - ], - "src": "33:2151:24" - }, - "legacyAST": { - "absolutePath": "@openzeppelin/contracts/utils/Pausable.sol", - "exportedSymbols": { - "Pausable": [ - 10625 - ] - }, - "id": 10626, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 10544, - "literals": [ - "solidity", - ">=", - "0.6", - ".0", - "<", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:31:24" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Context.sol", - "file": "./Context.sol", - "id": 10545, - "nodeType": "ImportDirective", - "scope": 10626, - "sourceUnit": 9529, - "src": "66:23:24", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": true, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 10546, - "name": "Context", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9528, - "src": "561:7:24", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Context_$9528", - "typeString": "contract Context" - } - }, - "id": 10547, - "nodeType": "InheritanceSpecifier", - "src": "561:7:24" - } - ], - "contractDependencies": [ - 9528 - ], - "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": 10625, - "linearizedBaseContracts": [ - 10625, - 9528 - ], - "name": "Pausable", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": "@dev Emitted when the pause is triggered by `account`.", - "id": 10551, - "name": "Paused", - "nodeType": "EventDefinition", - "parameters": { - "id": 10550, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10549, - "indexed": false, - "name": "account", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10551, - "src": "666:15:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10548, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "666:7:24", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "665:17:24" - }, - "src": "653:30:24" - }, - { - "anonymous": false, - "documentation": "@dev Emitted when the pause is lifted by `account`.", - "id": 10555, - "name": "Unpaused", - "nodeType": "EventDefinition", - "parameters": { - "id": 10554, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10553, - "indexed": false, - "name": "account", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10555, - "src": "779:15:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10552, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "779:7:24", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "778:17:24" - }, - "src": "764:32:24" - }, - { - "constant": false, - "id": 10557, - "name": "_paused", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10625, - "src": "802:20:24", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10556, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "802:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "private" - }, - { - "body": { - "id": 10564, - "nodeType": "Block", - "src": "925:32:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10562, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10560, - "name": "_paused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10557, - "src": "935:7:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 10561, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "945:5:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "935:15:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 10563, - "nodeType": "ExpressionStatement", - "src": "935:15:24" - } - ] - }, - "documentation": "@dev Initializes the contract in unpaused state.", - "id": 10565, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10558, - "nodeType": "ParameterList", - "parameters": [], - "src": "913:2:24" - }, - "returnParameters": { - "id": 10559, - "nodeType": "ParameterList", - "parameters": [], - "src": "925:0:24" - }, - "scope": 10625, - "src": "901:56:24", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10572, - "nodeType": "Block", - "src": "1105:31:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10570, - "name": "_paused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10557, - "src": "1122:7:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 10569, - "id": 10571, - "nodeType": "Return", - "src": "1115:14:24" - } - ] - }, - "documentation": "@dev Returns true if the contract is paused, and false otherwise.", - "functionSelector": "5c975abb", - "id": 10573, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "paused", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10566, - "nodeType": "ParameterList", - "parameters": [], - "src": "1067:2:24" - }, - "returnParameters": { - "id": 10569, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10568, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10573, - "src": "1099:4:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10567, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1099:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1098:6:24" - }, - "scope": 10625, - "src": "1052:84:24", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 10583, - "nodeType": "Block", - "src": "1347:66:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10578, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "1365:9:24", - "subExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 10576, - "name": "paused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10573, - "src": "1366:6:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", - "typeString": "function () view returns (bool)" - } - }, - "id": 10577, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1366:8:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5061757361626c653a20706175736564", - "id": 10579, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1376:18:24", - "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": 10575, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1357:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 10580, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1357:38:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10581, - "nodeType": "ExpressionStatement", - "src": "1357:38:24" - }, - { - "id": 10582, - "nodeType": "PlaceholderStatement", - "src": "1405:1:24" - } - ] - }, - "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": 10584, - "name": "whenNotPaused", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 10574, - "nodeType": "ParameterList", - "parameters": [], - "src": "1344:2:24" - }, - "src": "1322:91:24", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10593, - "nodeType": "Block", - "src": "1613:69:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 10587, - "name": "paused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10573, - "src": "1631:6:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", - "typeString": "function () view returns (bool)" - } - }, - "id": 10588, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1631:8:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5061757361626c653a206e6f7420706175736564", - "id": 10589, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1641:22:24", - "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": 10586, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1623:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 10590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1623:41:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10591, - "nodeType": "ExpressionStatement", - "src": "1623:41:24" - }, - { - "id": 10592, - "nodeType": "PlaceholderStatement", - "src": "1674:1:24" - } - ] - }, - "documentation": "@dev Modifier to make a function callable only when the contract is paused.\n * Requirements:\n * - The contract must be paused.", - "id": 10594, - "name": "whenPaused", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 10585, - "nodeType": "ParameterList", - "parameters": [], - "src": "1610:2:24" - }, - "src": "1591:91:24", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10608, - "nodeType": "Block", - "src": "1866:66:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10601, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10599, - "name": "_paused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10557, - "src": "1876:7:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 10600, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1886:4:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "1876:14:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 10602, - "nodeType": "ExpressionStatement", - "src": "1876:14:24" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 10604, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9516, - "src": "1912:10:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 10605, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1912:12:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 10603, - "name": "Paused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10551, - "src": "1905:6:24", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 10606, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1905:20:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10607, - "nodeType": "EmitStatement", - "src": "1900:25:24" - } - ] - }, - "documentation": "@dev Triggers stopped state.\n * Requirements:\n * - The contract must not be paused.", - "id": 10609, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 10597, - "modifierName": { - "argumentTypes": null, - "id": 10596, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10584, - "src": "1852:13:24", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1852:13:24" - } - ], - "name": "_pause", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10595, - "nodeType": "ParameterList", - "parameters": [], - "src": "1832:2:24" - }, - "returnParameters": { - "id": 10598, - "nodeType": "ParameterList", - "parameters": [], - "src": "1866:0:24" - }, - "scope": 10625, - "src": "1817:115:24", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 10623, - "nodeType": "Block", - "src": "2112:69:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10616, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10614, - "name": "_paused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10557, - "src": "2122:7:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 10615, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2132:5:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "2122:15:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 10617, - "nodeType": "ExpressionStatement", - "src": "2122:15:24" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 10619, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9516, - "src": "2161:10:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 10620, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2161:12:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 10618, - "name": "Unpaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10555, - "src": "2152:8:24", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 10621, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2152:22:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10622, - "nodeType": "EmitStatement", - "src": "2147:27:24" - } - ] - }, - "documentation": "@dev Returns to normal state.\n * Requirements:\n * - The contract must be paused.", - "id": 10624, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 10612, - "modifierName": { - "argumentTypes": null, - "id": 10611, - "name": "whenPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10594, - "src": "2101:10:24", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2101:10:24" - } - ], - "name": "_unpause", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10610, - "nodeType": "ParameterList", - "parameters": [], - "src": "2081:2:24" - }, - "returnParameters": { - "id": 10613, - "nodeType": "ParameterList", - "parameters": [], - "src": "2112:0:24" - }, - "scope": 10625, - "src": "2064:117:24", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - } - ], - "scope": 10626, - "src": "531:1652:24" - } - ], - "src": "33:2151:24" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.20", - "updatedAt": "2021-05-11T16:04:02.539Z", - "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 d992da55..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:12:-: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:12:-: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": [ - 7585 - ] - }, - "id": 7586, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 7246, - "literals": [ - "solidity", - ">=", - "0.6", - ".0", - "<", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:31:12" - }, - { - "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": 7585, - "linearizedBaseContracts": [ - 7585 - ], - "name": "SafeMath", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 7275, - "nodeType": "Block", - "src": "865:98:12", - "statements": [ - { - "assignments": [ - 7258 - ], - "declarations": [ - { - "constant": false, - "id": 7258, - "name": "c", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7275, - "src": "875:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7257, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "875:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7262, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7261, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7259, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7248, - "src": "887:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 7260, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7250, - "src": "891:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "887:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "875:17:12" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7265, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7263, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7258, - "src": "906:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 7264, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7248, - "src": "910:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "906:5:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 7270, - "nodeType": "IfStatement", - "src": "902:28:12", - "trueBody": { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 7266, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "921:5:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 7267, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "928:1:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "id": 7268, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "920:10:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", - "typeString": "tuple(bool,int_const 0)" - } - }, - "functionReturnParameters": 7256, - "id": 7269, - "nodeType": "Return", - "src": "913:17:12" - } - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7271, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "948:4:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "argumentTypes": null, - "id": 7272, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7258, - "src": "954:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 7273, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "947:9:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", - "typeString": "tuple(bool,uint256)" - } - }, - "functionReturnParameters": 7256, - "id": 7274, - "nodeType": "Return", - "src": "940:16:12" - } - ] - }, - "documentation": "@dev Returns the addition of two unsigned integers, with an overflow flag.\n * _Available since v3.4._", - "id": 7276, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tryAdd", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7251, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7248, - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7276, - "src": "805:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7247, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "805:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7250, - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7276, - "src": "816:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7249, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "816:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "804:22:12" - }, - "returnParameters": { - "id": 7256, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7253, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7276, - "src": "850:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7252, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "850:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7255, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7276, - "src": "856:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7254, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "856:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "849:15:12" - }, - "scope": 7585, - "src": "789:174:12", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7301, - "nodeType": "Block", - "src": "1185:75:12", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7289, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7287, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7280, - "src": "1199:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 7288, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7278, - "src": "1203:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1199:5:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 7294, - "nodeType": "IfStatement", - "src": "1195:28:12", - "trueBody": { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 7290, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1214:5:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 7291, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1221:1:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "id": 7292, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1213:10:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", - "typeString": "tuple(bool,int_const 0)" - } - }, - "functionReturnParameters": 7286, - "id": 7293, - "nodeType": "Return", - "src": "1206:17:12" - } - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7295, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1241:4:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7298, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7296, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7278, - "src": "1247:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 7297, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7280, - "src": "1251:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1247:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 7299, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1240:13:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", - "typeString": "tuple(bool,uint256)" - } - }, - "functionReturnParameters": 7286, - "id": 7300, - "nodeType": "Return", - "src": "1233:20:12" - } - ] - }, - "documentation": "@dev Returns the substraction of two unsigned integers, with an overflow flag.\n * _Available since v3.4._", - "id": 7302, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "trySub", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7281, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7278, - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7302, - "src": "1125:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7277, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1125:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7280, - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7302, - "src": "1136:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7279, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1136:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1124:22:12" - }, - "returnParameters": { - "id": 7286, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7283, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7302, - "src": "1170:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7282, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1170:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7285, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7302, - "src": "1176:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7284, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1176:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1169:15:12" - }, - "scope": 7585, - "src": "1109:151:12", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7341, - "nodeType": "Block", - "src": "1484:359:12", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7313, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7304, - "src": "1716:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7314, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1721:1:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1716:6:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 7320, - "nodeType": "IfStatement", - "src": "1712:28:12", - "trueBody": { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7316, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1732:4:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 7317, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1738:1:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "id": 7318, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1731:9:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", - "typeString": "tuple(bool,int_const 0)" - } - }, - "functionReturnParameters": 7312, - "id": 7319, - "nodeType": "Return", - "src": "1724:16:12" - } - }, - { - "assignments": [ - 7322 - ], - "declarations": [ - { - "constant": false, - "id": 7322, - "name": "c", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7341, - "src": "1750:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7321, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1750:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7326, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7323, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7304, - "src": "1762:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 7324, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7306, - "src": "1766:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1762:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1750:17:12" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7331, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7329, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7327, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7322, - "src": "1781:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 7328, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7304, - "src": "1785:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1781:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 7330, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7306, - "src": "1790:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1781:10:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 7336, - "nodeType": "IfStatement", - "src": "1777:33:12", - "trueBody": { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 7332, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1801:5:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 7333, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1808:1:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "id": 7334, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1800:10:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", - "typeString": "tuple(bool,int_const 0)" - } - }, - "functionReturnParameters": 7312, - "id": 7335, - "nodeType": "Return", - "src": "1793:17:12" - } - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7337, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1828:4:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "argumentTypes": null, - "id": 7338, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7322, - "src": "1834:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 7339, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1827:9:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", - "typeString": "tuple(bool,uint256)" - } - }, - "functionReturnParameters": 7312, - "id": 7340, - "nodeType": "Return", - "src": "1820:16:12" - } - ] - }, - "documentation": "@dev Returns the multiplication of two unsigned integers, with an overflow flag.\n * _Available since v3.4._", - "id": 7342, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tryMul", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7307, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7304, - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7342, - "src": "1424:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7303, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1424:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7306, - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7342, - "src": "1435:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7305, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1435:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1423:22:12" - }, - "returnParameters": { - "id": 7312, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7309, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7342, - "src": "1469:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7308, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1469:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7311, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7342, - "src": "1475:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7310, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1475:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1468:15:12" - }, - "scope": 7585, - "src": "1408:435:12", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7367, - "nodeType": "Block", - "src": "2068:76:12", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7353, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7346, - "src": "2082:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7354, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2087:1:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2082:6:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 7360, - "nodeType": "IfStatement", - "src": "2078:29:12", - "trueBody": { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 7356, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2098:5:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 7357, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2105:1:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "id": 7358, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2097:10:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", - "typeString": "tuple(bool,int_const 0)" - } - }, - "functionReturnParameters": 7352, - "id": 7359, - "nodeType": "Return", - "src": "2090:17:12" - } - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7361, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2125:4:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7364, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7362, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7344, - "src": "2131:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 7363, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7346, - "src": "2135:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2131:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 7365, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2124:13:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", - "typeString": "tuple(bool,uint256)" - } - }, - "functionReturnParameters": 7352, - "id": 7366, - "nodeType": "Return", - "src": "2117:20:12" - } - ] - }, - "documentation": "@dev Returns the division of two unsigned integers, with a division by zero flag.\n * _Available since v3.4._", - "id": 7368, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tryDiv", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7347, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7344, - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7368, - "src": "2008:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7343, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2008:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7346, - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7368, - "src": "2019:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7345, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2019:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2007:22:12" - }, - "returnParameters": { - "id": 7352, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7349, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7368, - "src": "2053:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7348, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2053:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7351, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7368, - "src": "2059:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7350, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2059:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2052:15:12" - }, - "scope": 7585, - "src": "1992:152:12", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7393, - "nodeType": "Block", - "src": "2379:76:12", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7379, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7372, - "src": "2393:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2398:1:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2393:6:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 7386, - "nodeType": "IfStatement", - "src": "2389:29:12", - "trueBody": { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 7382, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2409:5:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 7383, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2416:1:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "id": 7384, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2408:10:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", - "typeString": "tuple(bool,int_const 0)" - } - }, - "functionReturnParameters": 7378, - "id": 7385, - "nodeType": "Return", - "src": "2401:17:12" - } - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7387, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2436:4:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7390, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7388, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7370, - "src": "2442:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "argumentTypes": null, - "id": 7389, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7372, - "src": "2446:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2442:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 7391, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2435:13:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", - "typeString": "tuple(bool,uint256)" - } - }, - "functionReturnParameters": 7378, - "id": 7392, - "nodeType": "Return", - "src": "2428:20:12" - } - ] - }, - "documentation": "@dev Returns the remainder of dividing two unsigned integers, with a division by zero flag.\n * _Available since v3.4._", - "id": 7394, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tryMod", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7373, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7370, - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7394, - "src": "2319:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7369, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2319:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7372, - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7394, - "src": "2330:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7371, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2330:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2318:22:12" - }, - "returnParameters": { - "id": 7378, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7375, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7394, - "src": "2364:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7374, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2364:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7377, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7394, - "src": "2370:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7376, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2370:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2363:15:12" - }, - "scope": 7585, - "src": "2303:152:12", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7418, - "nodeType": "Block", - "src": "2757:108:12", - "statements": [ - { - "assignments": [ - 7404 - ], - "declarations": [ - { - "constant": false, - "id": 7404, - "name": "c", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7418, - "src": "2767:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7403, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2767:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7408, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7407, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7405, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7396, - "src": "2779:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 7406, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7398, - "src": "2783:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2779:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2767:17:12" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7412, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7410, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7404, - "src": "2802:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 7411, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7396, - "src": "2807:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2802:6:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "536166654d6174683a206164646974696f6e206f766572666c6f77", - "id": 7413, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2810:29:12", - "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": 7409, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2794:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7414, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2794:46:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7415, - "nodeType": "ExpressionStatement", - "src": "2794:46:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 7416, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7404, - "src": "2857:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7402, - "id": 7417, - "nodeType": "Return", - "src": "2850:8:12" - } - ] - }, - "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": 7419, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "add", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7399, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7396, - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7419, - "src": "2703:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7395, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2703:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7398, - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7419, - "src": "2714:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7397, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2714:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2702:22:12" - }, - "returnParameters": { - "id": 7402, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7401, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7419, - "src": "2748:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7400, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2748:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2747:9:12" - }, - "scope": 7585, - "src": "2690:175:12", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7439, - "nodeType": "Block", - "src": "3203:88:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7429, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7423, - "src": "3221:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 7430, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7421, - "src": "3226:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3221:6:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "536166654d6174683a207375627472616374696f6e206f766572666c6f77", - "id": 7432, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3229:32:12", - "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": 7428, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3213:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7433, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3213:49:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7434, - "nodeType": "ExpressionStatement", - "src": "3213:49:12" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7435, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7421, - "src": "3279:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 7436, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7423, - "src": "3283:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3279:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7427, - "id": 7438, - "nodeType": "Return", - "src": "3272:12:12" - } - ] - }, - "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": 7440, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sub", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7424, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7421, - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7440, - "src": "3149:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7420, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3149:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7423, - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7440, - "src": "3160:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7422, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3160:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3148:22:12" - }, - "returnParameters": { - "id": 7427, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7426, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7440, - "src": "3194:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7425, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3194:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3193:9:12" - }, - "scope": 7585, - "src": "3136:155:12", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7472, - "nodeType": "Block", - "src": "3605:148:12", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7451, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7449, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7442, - "src": "3619:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7450, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3624:1:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3619:6:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 7454, - "nodeType": "IfStatement", - "src": "3615:20:12", - "trueBody": { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7452, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3634:1:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 7448, - "id": 7453, - "nodeType": "Return", - "src": "3627:8:12" - } - }, - { - "assignments": [ - 7456 - ], - "declarations": [ - { - "constant": false, - "id": 7456, - "name": "c", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7472, - "src": "3645:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7455, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3645:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7460, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7459, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7457, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7442, - "src": "3657:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 7458, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7444, - "src": "3661:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3657:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3645:17:12" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7466, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7462, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7456, - "src": "3680:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 7463, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7442, - "src": "3684:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3680:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 7465, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7444, - "src": "3689:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3680:10:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77", - "id": 7467, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3692:35:12", - "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": 7461, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3672:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3672:56:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7469, - "nodeType": "ExpressionStatement", - "src": "3672:56:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 7470, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7456, - "src": "3745:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7448, - "id": 7471, - "nodeType": "Return", - "src": "3738:8:12" - } - ] - }, - "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": 7473, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mul", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7445, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7442, - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7473, - "src": "3551:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7441, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3551:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7444, - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7473, - "src": "3562:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7443, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3562:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3550:22:12" - }, - "returnParameters": { - "id": 7448, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7447, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7473, - "src": "3596:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7446, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3596:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3595:9:12" - }, - "scope": 7585, - "src": "3538:215:12", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7493, - "nodeType": "Block", - "src": "4284:83:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7483, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7477, - "src": "4302:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7484, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4306:1:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4302:5:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "536166654d6174683a206469766973696f6e206279207a65726f", - "id": 7486, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4309:28:12", - "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": 7482, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4294:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4294:44:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7488, - "nodeType": "ExpressionStatement", - "src": "4294:44:12" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7491, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7489, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7475, - "src": "4355:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 7490, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7477, - "src": "4359:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4355:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7481, - "id": 7492, - "nodeType": "Return", - "src": "4348:12:12" - } - ] - }, - "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": 7494, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "div", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7478, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7475, - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7494, - "src": "4230:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7474, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4230:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7477, - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7494, - "src": "4241:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7476, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4241:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4229:22:12" - }, - "returnParameters": { - "id": 7481, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7480, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7494, - "src": "4275:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7479, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4275:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4274:9:12" - }, - "scope": 7585, - "src": "4217:150:12", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7514, - "nodeType": "Block", - "src": "4887:81:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7506, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7504, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7498, - "src": "4905:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7505, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4909:1:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4905:5:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "536166654d6174683a206d6f64756c6f206279207a65726f", - "id": 7507, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4912:26:12", - "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": 7503, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4897:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4897:42:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7509, - "nodeType": "ExpressionStatement", - "src": "4897:42:12" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7512, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7510, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7496, - "src": "4956:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "argumentTypes": null, - "id": 7511, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7498, - "src": "4960:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4956:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7502, - "id": 7513, - "nodeType": "Return", - "src": "4949:12:12" - } - ] - }, - "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": 7515, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mod", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7499, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7496, - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7515, - "src": "4833:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7495, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4833:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7498, - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7515, - "src": "4844:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7497, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4844:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4832:22:12" - }, - "returnParameters": { - "id": 7502, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7501, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7515, - "src": "4878:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7500, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4878:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4877:9:12" - }, - "scope": 7585, - "src": "4820:148:12", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7537, - "nodeType": "Block", - "src": "5527:68:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7529, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7527, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7519, - "src": "5545:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 7528, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7517, - "src": "5550:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5545:6:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 7530, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7521, - "src": "5553:12:12", - "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": 7526, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5537:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7531, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5537:29:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7532, - "nodeType": "ExpressionStatement", - "src": "5537:29:12" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7535, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7533, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7517, - "src": "5583:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 7534, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7519, - "src": "5587:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5583:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7525, - "id": 7536, - "nodeType": "Return", - "src": "5576:12:12" - } - ] - }, - "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": 7538, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sub", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7522, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7517, - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7538, - "src": "5445:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7516, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5445:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7519, - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7538, - "src": "5456:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7518, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5456:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7521, - "name": "errorMessage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7538, - "src": "5467:26:12", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7520, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5467:6:12", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5444:50:12" - }, - "returnParameters": { - "id": 7525, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7524, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7538, - "src": "5518:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7523, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5518:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5517:9:12" - }, - "scope": 7585, - "src": "5432:163:12", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7560, - "nodeType": "Block", - "src": "6347:67:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7552, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7550, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7542, - "src": "6365:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7551, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6369:1:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6365:5:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 7553, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7544, - "src": "6372:12:12", - "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": 7549, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6357:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6357:28:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7555, - "nodeType": "ExpressionStatement", - "src": "6357:28:12" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7558, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7556, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7540, - "src": "6402:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 7557, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7542, - "src": "6406:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6402:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7548, - "id": 7559, - "nodeType": "Return", - "src": "6395:12:12" - } - ] - }, - "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": 7561, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "div", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7545, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7540, - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7561, - "src": "6265:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7539, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6265:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7542, - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7561, - "src": "6276:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7541, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6276:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7544, - "name": "errorMessage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7561, - "src": "6287:26:12", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7543, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "6287:6:12", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6264:50:12" - }, - "returnParameters": { - "id": 7548, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7547, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7561, - "src": "6338:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7546, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6338:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6337:9:12" - }, - "scope": 7585, - "src": "6252:162:12", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7583, - "nodeType": "Block", - "src": "7155:67:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7575, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7573, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7565, - "src": "7173:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7574, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7177:1:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7173:5:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 7576, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7567, - "src": "7180:12:12", - "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": 7572, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7165:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7577, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7165:28:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7578, - "nodeType": "ExpressionStatement", - "src": "7165:28:12" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7581, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7579, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7563, - "src": "7210:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "argumentTypes": null, - "id": 7580, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7565, - "src": "7214:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7210:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7571, - "id": 7582, - "nodeType": "Return", - "src": "7203:12:12" - } - ] - }, - "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": 7584, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mod", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7568, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7563, - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7584, - "src": "7073:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7562, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7073:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7565, - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7584, - "src": "7084:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7564, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7084:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7567, - "name": "errorMessage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7584, - "src": "7095:26:12", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7566, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "7095:6:12", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7072:50:12" - }, - "returnParameters": { - "id": 7571, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7570, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7584, - "src": "7146:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7569, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7146:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7145:9:12" - }, - "scope": 7585, - "src": "7060:162:12", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 7586, - "src": "630:6594:12" - } - ], - "src": "33:7192:12" - }, - "legacyAST": { - "absolutePath": "@openzeppelin/contracts/math/SafeMath.sol", - "exportedSymbols": { - "SafeMath": [ - 7585 - ] - }, - "id": 7586, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 7246, - "literals": [ - "solidity", - ">=", - "0.6", - ".0", - "<", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:31:12" - }, - { - "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": 7585, - "linearizedBaseContracts": [ - 7585 - ], - "name": "SafeMath", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 7275, - "nodeType": "Block", - "src": "865:98:12", - "statements": [ - { - "assignments": [ - 7258 - ], - "declarations": [ - { - "constant": false, - "id": 7258, - "name": "c", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7275, - "src": "875:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7257, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "875:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7262, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7261, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7259, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7248, - "src": "887:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 7260, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7250, - "src": "891:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "887:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "875:17:12" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7265, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7263, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7258, - "src": "906:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 7264, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7248, - "src": "910:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "906:5:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 7270, - "nodeType": "IfStatement", - "src": "902:28:12", - "trueBody": { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 7266, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "921:5:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 7267, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "928:1:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "id": 7268, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "920:10:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", - "typeString": "tuple(bool,int_const 0)" - } - }, - "functionReturnParameters": 7256, - "id": 7269, - "nodeType": "Return", - "src": "913:17:12" - } - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7271, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "948:4:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "argumentTypes": null, - "id": 7272, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7258, - "src": "954:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 7273, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "947:9:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", - "typeString": "tuple(bool,uint256)" - } - }, - "functionReturnParameters": 7256, - "id": 7274, - "nodeType": "Return", - "src": "940:16:12" - } - ] - }, - "documentation": "@dev Returns the addition of two unsigned integers, with an overflow flag.\n * _Available since v3.4._", - "id": 7276, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tryAdd", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7251, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7248, - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7276, - "src": "805:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7247, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "805:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7250, - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7276, - "src": "816:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7249, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "816:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "804:22:12" - }, - "returnParameters": { - "id": 7256, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7253, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7276, - "src": "850:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7252, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "850:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7255, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7276, - "src": "856:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7254, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "856:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "849:15:12" - }, - "scope": 7585, - "src": "789:174:12", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7301, - "nodeType": "Block", - "src": "1185:75:12", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7289, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7287, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7280, - "src": "1199:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 7288, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7278, - "src": "1203:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1199:5:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 7294, - "nodeType": "IfStatement", - "src": "1195:28:12", - "trueBody": { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 7290, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1214:5:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 7291, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1221:1:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "id": 7292, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1213:10:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", - "typeString": "tuple(bool,int_const 0)" - } - }, - "functionReturnParameters": 7286, - "id": 7293, - "nodeType": "Return", - "src": "1206:17:12" - } - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7295, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1241:4:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7298, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7296, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7278, - "src": "1247:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 7297, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7280, - "src": "1251:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1247:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 7299, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1240:13:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", - "typeString": "tuple(bool,uint256)" - } - }, - "functionReturnParameters": 7286, - "id": 7300, - "nodeType": "Return", - "src": "1233:20:12" - } - ] - }, - "documentation": "@dev Returns the substraction of two unsigned integers, with an overflow flag.\n * _Available since v3.4._", - "id": 7302, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "trySub", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7281, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7278, - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7302, - "src": "1125:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7277, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1125:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7280, - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7302, - "src": "1136:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7279, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1136:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1124:22:12" - }, - "returnParameters": { - "id": 7286, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7283, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7302, - "src": "1170:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7282, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1170:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7285, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7302, - "src": "1176:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7284, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1176:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1169:15:12" - }, - "scope": 7585, - "src": "1109:151:12", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7341, - "nodeType": "Block", - "src": "1484:359:12", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7313, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7304, - "src": "1716:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7314, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1721:1:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1716:6:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 7320, - "nodeType": "IfStatement", - "src": "1712:28:12", - "trueBody": { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7316, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1732:4:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 7317, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1738:1:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "id": 7318, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1731:9:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", - "typeString": "tuple(bool,int_const 0)" - } - }, - "functionReturnParameters": 7312, - "id": 7319, - "nodeType": "Return", - "src": "1724:16:12" - } - }, - { - "assignments": [ - 7322 - ], - "declarations": [ - { - "constant": false, - "id": 7322, - "name": "c", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7341, - "src": "1750:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7321, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1750:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7326, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7323, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7304, - "src": "1762:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 7324, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7306, - "src": "1766:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1762:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1750:17:12" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7331, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7329, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7327, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7322, - "src": "1781:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 7328, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7304, - "src": "1785:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1781:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 7330, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7306, - "src": "1790:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1781:10:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 7336, - "nodeType": "IfStatement", - "src": "1777:33:12", - "trueBody": { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 7332, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1801:5:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 7333, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1808:1:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "id": 7334, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1800:10:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", - "typeString": "tuple(bool,int_const 0)" - } - }, - "functionReturnParameters": 7312, - "id": 7335, - "nodeType": "Return", - "src": "1793:17:12" - } - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7337, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1828:4:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "argumentTypes": null, - "id": 7338, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7322, - "src": "1834:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 7339, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1827:9:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", - "typeString": "tuple(bool,uint256)" - } - }, - "functionReturnParameters": 7312, - "id": 7340, - "nodeType": "Return", - "src": "1820:16:12" - } - ] - }, - "documentation": "@dev Returns the multiplication of two unsigned integers, with an overflow flag.\n * _Available since v3.4._", - "id": 7342, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tryMul", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7307, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7304, - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7342, - "src": "1424:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7303, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1424:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7306, - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7342, - "src": "1435:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7305, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1435:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1423:22:12" - }, - "returnParameters": { - "id": 7312, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7309, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7342, - "src": "1469:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7308, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1469:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7311, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7342, - "src": "1475:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7310, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1475:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1468:15:12" - }, - "scope": 7585, - "src": "1408:435:12", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7367, - "nodeType": "Block", - "src": "2068:76:12", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7353, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7346, - "src": "2082:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7354, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2087:1:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2082:6:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 7360, - "nodeType": "IfStatement", - "src": "2078:29:12", - "trueBody": { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 7356, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2098:5:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 7357, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2105:1:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "id": 7358, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2097:10:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", - "typeString": "tuple(bool,int_const 0)" - } - }, - "functionReturnParameters": 7352, - "id": 7359, - "nodeType": "Return", - "src": "2090:17:12" - } - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7361, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2125:4:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7364, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7362, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7344, - "src": "2131:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 7363, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7346, - "src": "2135:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2131:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 7365, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2124:13:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", - "typeString": "tuple(bool,uint256)" - } - }, - "functionReturnParameters": 7352, - "id": 7366, - "nodeType": "Return", - "src": "2117:20:12" - } - ] - }, - "documentation": "@dev Returns the division of two unsigned integers, with a division by zero flag.\n * _Available since v3.4._", - "id": 7368, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tryDiv", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7347, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7344, - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7368, - "src": "2008:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7343, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2008:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7346, - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7368, - "src": "2019:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7345, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2019:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2007:22:12" - }, - "returnParameters": { - "id": 7352, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7349, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7368, - "src": "2053:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7348, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2053:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7351, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7368, - "src": "2059:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7350, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2059:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2052:15:12" - }, - "scope": 7585, - "src": "1992:152:12", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7393, - "nodeType": "Block", - "src": "2379:76:12", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7379, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7372, - "src": "2393:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7380, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2398:1:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2393:6:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 7386, - "nodeType": "IfStatement", - "src": "2389:29:12", - "trueBody": { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 7382, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2409:5:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 7383, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2416:1:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "id": 7384, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2408:10:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", - "typeString": "tuple(bool,int_const 0)" - } - }, - "functionReturnParameters": 7378, - "id": 7385, - "nodeType": "Return", - "src": "2401:17:12" - } - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7387, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2436:4:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7390, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7388, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7370, - "src": "2442:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "argumentTypes": null, - "id": 7389, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7372, - "src": "2446:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2442:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 7391, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2435:13:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", - "typeString": "tuple(bool,uint256)" - } - }, - "functionReturnParameters": 7378, - "id": 7392, - "nodeType": "Return", - "src": "2428:20:12" - } - ] - }, - "documentation": "@dev Returns the remainder of dividing two unsigned integers, with a division by zero flag.\n * _Available since v3.4._", - "id": 7394, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tryMod", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7373, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7370, - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7394, - "src": "2319:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7369, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2319:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7372, - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7394, - "src": "2330:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7371, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2330:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2318:22:12" - }, - "returnParameters": { - "id": 7378, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7375, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7394, - "src": "2364:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7374, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2364:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7377, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7394, - "src": "2370:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7376, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2370:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2363:15:12" - }, - "scope": 7585, - "src": "2303:152:12", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7418, - "nodeType": "Block", - "src": "2757:108:12", - "statements": [ - { - "assignments": [ - 7404 - ], - "declarations": [ - { - "constant": false, - "id": 7404, - "name": "c", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7418, - "src": "2767:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7403, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2767:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7408, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7407, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7405, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7396, - "src": "2779:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 7406, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7398, - "src": "2783:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2779:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2767:17:12" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7412, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7410, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7404, - "src": "2802:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 7411, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7396, - "src": "2807:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2802:6:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "536166654d6174683a206164646974696f6e206f766572666c6f77", - "id": 7413, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2810:29:12", - "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": 7409, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2794:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7414, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2794:46:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7415, - "nodeType": "ExpressionStatement", - "src": "2794:46:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 7416, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7404, - "src": "2857:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7402, - "id": 7417, - "nodeType": "Return", - "src": "2850:8:12" - } - ] - }, - "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": 7419, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "add", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7399, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7396, - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7419, - "src": "2703:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7395, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2703:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7398, - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7419, - "src": "2714:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7397, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2714:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2702:22:12" - }, - "returnParameters": { - "id": 7402, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7401, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7419, - "src": "2748:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7400, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2748:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2747:9:12" - }, - "scope": 7585, - "src": "2690:175:12", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7439, - "nodeType": "Block", - "src": "3203:88:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7429, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7423, - "src": "3221:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 7430, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7421, - "src": "3226:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3221:6:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "536166654d6174683a207375627472616374696f6e206f766572666c6f77", - "id": 7432, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3229:32:12", - "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": 7428, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3213:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7433, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3213:49:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7434, - "nodeType": "ExpressionStatement", - "src": "3213:49:12" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7435, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7421, - "src": "3279:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 7436, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7423, - "src": "3283:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3279:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7427, - "id": 7438, - "nodeType": "Return", - "src": "3272:12:12" - } - ] - }, - "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": 7440, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sub", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7424, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7421, - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7440, - "src": "3149:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7420, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3149:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7423, - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7440, - "src": "3160:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7422, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3160:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3148:22:12" - }, - "returnParameters": { - "id": 7427, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7426, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7440, - "src": "3194:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7425, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3194:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3193:9:12" - }, - "scope": 7585, - "src": "3136:155:12", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7472, - "nodeType": "Block", - "src": "3605:148:12", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7451, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7449, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7442, - "src": "3619:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7450, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3624:1:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3619:6:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 7454, - "nodeType": "IfStatement", - "src": "3615:20:12", - "trueBody": { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7452, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3634:1:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 7448, - "id": 7453, - "nodeType": "Return", - "src": "3627:8:12" - } - }, - { - "assignments": [ - 7456 - ], - "declarations": [ - { - "constant": false, - "id": 7456, - "name": "c", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7472, - "src": "3645:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7455, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3645:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7460, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7459, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7457, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7442, - "src": "3657:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 7458, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7444, - "src": "3661:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3657:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3645:17:12" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7466, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7462, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7456, - "src": "3680:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 7463, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7442, - "src": "3684:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3680:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 7465, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7444, - "src": "3689:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3680:10:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77", - "id": 7467, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3692:35:12", - "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": 7461, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3672:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3672:56:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7469, - "nodeType": "ExpressionStatement", - "src": "3672:56:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 7470, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7456, - "src": "3745:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7448, - "id": 7471, - "nodeType": "Return", - "src": "3738:8:12" - } - ] - }, - "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": 7473, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mul", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7445, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7442, - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7473, - "src": "3551:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7441, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3551:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7444, - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7473, - "src": "3562:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7443, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3562:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3550:22:12" - }, - "returnParameters": { - "id": 7448, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7447, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7473, - "src": "3596:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7446, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3596:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3595:9:12" - }, - "scope": 7585, - "src": "3538:215:12", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7493, - "nodeType": "Block", - "src": "4284:83:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7483, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7477, - "src": "4302:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7484, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4306:1:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4302:5:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "536166654d6174683a206469766973696f6e206279207a65726f", - "id": 7486, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4309:28:12", - "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": 7482, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4294:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4294:44:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7488, - "nodeType": "ExpressionStatement", - "src": "4294:44:12" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7491, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7489, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7475, - "src": "4355:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 7490, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7477, - "src": "4359:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4355:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7481, - "id": 7492, - "nodeType": "Return", - "src": "4348:12:12" - } - ] - }, - "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": 7494, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "div", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7478, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7475, - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7494, - "src": "4230:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7474, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4230:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7477, - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7494, - "src": "4241:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7476, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4241:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4229:22:12" - }, - "returnParameters": { - "id": 7481, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7480, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7494, - "src": "4275:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7479, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4275:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4274:9:12" - }, - "scope": 7585, - "src": "4217:150:12", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7514, - "nodeType": "Block", - "src": "4887:81:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7506, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7504, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7498, - "src": "4905:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7505, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4909:1:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4905:5:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "536166654d6174683a206d6f64756c6f206279207a65726f", - "id": 7507, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4912:26:12", - "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": 7503, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4897:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4897:42:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7509, - "nodeType": "ExpressionStatement", - "src": "4897:42:12" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7512, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7510, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7496, - "src": "4956:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "argumentTypes": null, - "id": 7511, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7498, - "src": "4960:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4956:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7502, - "id": 7513, - "nodeType": "Return", - "src": "4949:12:12" - } - ] - }, - "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": 7515, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mod", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7499, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7496, - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7515, - "src": "4833:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7495, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4833:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7498, - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7515, - "src": "4844:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7497, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4844:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4832:22:12" - }, - "returnParameters": { - "id": 7502, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7501, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7515, - "src": "4878:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7500, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4878:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4877:9:12" - }, - "scope": 7585, - "src": "4820:148:12", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7537, - "nodeType": "Block", - "src": "5527:68:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7529, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7527, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7519, - "src": "5545:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 7528, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7517, - "src": "5550:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5545:6:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 7530, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7521, - "src": "5553:12:12", - "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": 7526, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5537:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7531, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5537:29:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7532, - "nodeType": "ExpressionStatement", - "src": "5537:29:12" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7535, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7533, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7517, - "src": "5583:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 7534, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7519, - "src": "5587:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5583:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7525, - "id": 7536, - "nodeType": "Return", - "src": "5576:12:12" - } - ] - }, - "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": 7538, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sub", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7522, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7517, - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7538, - "src": "5445:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7516, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5445:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7519, - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7538, - "src": "5456:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7518, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5456:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7521, - "name": "errorMessage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7538, - "src": "5467:26:12", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7520, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5467:6:12", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5444:50:12" - }, - "returnParameters": { - "id": 7525, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7524, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7538, - "src": "5518:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7523, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5518:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5517:9:12" - }, - "scope": 7585, - "src": "5432:163:12", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7560, - "nodeType": "Block", - "src": "6347:67:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7552, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7550, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7542, - "src": "6365:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7551, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6369:1:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6365:5:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 7553, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7544, - "src": "6372:12:12", - "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": 7549, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6357:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6357:28:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7555, - "nodeType": "ExpressionStatement", - "src": "6357:28:12" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7558, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7556, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7540, - "src": "6402:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 7557, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7542, - "src": "6406:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6402:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7548, - "id": 7559, - "nodeType": "Return", - "src": "6395:12:12" - } - ] - }, - "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": 7561, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "div", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7545, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7540, - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7561, - "src": "6265:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7539, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6265:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7542, - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7561, - "src": "6276:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7541, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6276:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7544, - "name": "errorMessage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7561, - "src": "6287:26:12", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7543, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "6287:6:12", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6264:50:12" - }, - "returnParameters": { - "id": 7548, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7547, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7561, - "src": "6338:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7546, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6338:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6337:9:12" - }, - "scope": 7585, - "src": "6252:162:12", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7583, - "nodeType": "Block", - "src": "7155:67:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7575, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7573, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7565, - "src": "7173:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7574, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7177:1:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7173:5:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 7576, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7567, - "src": "7180:12:12", - "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": 7572, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7165:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7577, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7165:28:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7578, - "nodeType": "ExpressionStatement", - "src": "7165:28:12" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7581, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7579, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7563, - "src": "7210:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "argumentTypes": null, - "id": 7580, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7565, - "src": "7214:1:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7210:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7571, - "id": 7582, - "nodeType": "Return", - "src": "7203:12:12" - } - ] - }, - "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": 7584, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mod", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7568, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7563, - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7584, - "src": "7073:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7562, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7073:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7565, - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7584, - "src": "7084:9:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7564, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7084:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7567, - "name": "errorMessage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7584, - "src": "7095:26:12", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7566, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "7095:6:12", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7072:50:12" - }, - "returnParameters": { - "id": 7571, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7570, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7584, - "src": "7146:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7569, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7146:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7145:9:12" - }, - "scope": 7585, - "src": "7060:162:12", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 7586, - "src": "630:6594:12" - } - ], - "src": "33:7192:12" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.20", - "updatedAt": "2021-05-11T16:04:02.512Z", - "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 b972c332..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:25;935:15;;-1:-1:-1;;;;;;508:18:10;935:15:25;516:10:10;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:25:-;;;:::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:10:-;;;:::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:10:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;864:188:10;-1:-1:-1;;;;;864:188:10;;:::i;5570:2509:7:-;1366:8:25;:6;:8::i;:::-;1365:9;1357:38;;;;;-1:-1:-1;;;1357:38:25;;;;;;;;;;;;-1:-1:-1;;;1357:38:25;;;;;;;;;;;;;;;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:25;:6;:8::i;:::-;1365:9;1357:38;;;;;-1:-1:-1;;;1357:38:25;;;;;;;;;;;;-1:-1:-1;;;1357:38:25;;;;;;;;;;;;;;;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:25;;;;2016:2034:7::0;;:::o;4056:1045::-;1366:8:25;:6;:8::i;:::-;1365:9;1357:38;;;;;-1:-1:-1;;;1357:38:25;;;;;;;;;;;;-1:-1:-1;;;1357:38:25;;;;;;;;;;;;;;;672:5:10::1;::::0;::::1;::::0;::::1;-1:-1:-1::0;;;;;672:5:10::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:25:-;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:10:-;;;;;;-1:-1:-1;;;;;239:20:10;;:::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:10;;;;;-1:-1:-1;;;;;672:5:10;658:10;:19;650:28;;;;;;1631:8:25::1;:6;:8::i;:::-;1623:41;;;::::0;;-1:-1:-1;;;1623:41:25;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;1623:41:25;;;;;;;;;;;;;::::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:10;;;;;-1:-1:-1;;;;;672:5:10;658:10;:19;650:28;;;;;;1631:8:25::1;:6;:8::i;:::-;1623:41;;;::::0;;-1:-1:-1;;;1623:41:25;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;1623:41:25;;;;;;;;;;;;;::::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:10:-;672:5;;;;;-1:-1:-1;;;;;672:5:10;658:10;:19;650:28;;;;;;-1:-1:-1;;;;;944:22:10;::::1;936:31;;;::::0;::::1;;1003:5;::::0;;982:37:::1;::::0;-1:-1:-1;;;;;982:37:10;;::::1;::::0;1003:5:::1;::::0;;::::1;;::::0;982:37:::1;::::0;::::1;1029:5;:16:::0;;-1:-1:-1;;;;;1029:16:10;;::::1;;;-1:-1:-1::0;;;;;;1029:16:10;;::::1;::::0;;;::::1;::::0;;864:188::o;2690:175:13:-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;;-1:-1:-1;;;2794:46:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;2857:1;-1:-1:-1;2690:175:13;;;;;:::o;3136:155::-;3194:7;3226:1;3221;:6;;3213:49;;;;;-1:-1:-1;;;3213:49:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3279:5:13;;;3136:155::o;3538:215::-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:13;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4217:150;4275:7;4306:1;4302;:5;4294:44;;;;;-1:-1:-1;;;4294:44:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:13: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": [ - 4655 - ] - }, - "id": 4656, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 3808, - "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": 3809, - "nodeType": "ImportDirective", - "scope": 4656, - "sourceUnit": 8052, - "src": "59:55:7", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Pausable.sol", - "file": "@openzeppelin/contracts/utils/Pausable.sol", - "id": 3810, - "nodeType": "ImportDirective", - "scope": 4656, - "sourceUnit": 10608, - "src": "115:52:7", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Ownable.sol", - "file": "./utils/Ownable.sol", - "id": 3811, - "nodeType": "ImportDirective", - "scope": 4656, - "sourceUnit": 7164, - "src": "168:29:7", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 3812, - "name": "Pausable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10607, - "src": "227:8:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Pausable_$10607", - "typeString": "contract Pausable" - } - }, - "id": 3813, - "nodeType": "InheritanceSpecifier", - "src": "227:8:7" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 3814, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7163, - "src": "237:7:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$7163", - "typeString": "contract Ownable" - } - }, - "id": 3815, - "nodeType": "InheritanceSpecifier", - "src": "237:7:7" - } - ], - "contractDependencies": [ - 7163, - 9510, - 10607 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 4655, - "linearizedBaseContracts": [ - 4655, - 7163, - 10607, - 9510 - ], - "name": "StakingContract", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 3818, - "libraryName": { - "contractScope": null, - "id": 3816, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7567, - "src": "257:8:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$7567", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "251:27:7", - "typeName": { - "id": 3817, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "270:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "functionSelector": "7acc0b20", - "id": 3822, - "name": "products", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4655, - "src": "284:46:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$3887_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR)" - }, - "typeName": { - "id": 3821, - "keyType": { - "id": 3819, - "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_$3887_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR)" - }, - "valueType": { - "contractScope": null, - "id": 3820, - "name": "ProductAPR", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3887, - "src": "303:10:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$3887_storage_ptr", - "typeString": "struct StakingContract.ProductAPR" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "cb51bba9", - "id": 3825, - "name": "productIds", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4655, - "src": "361:27:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3823, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "361:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3824, - "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": 3830, - "name": "mySubscriptions", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4655, - "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": 3829, - "keyType": { - "id": 3826, - "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": 3827, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "440:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3828, - "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": 3833, - "name": "incrementId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4655, - "src": "512:23:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3831, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "512:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 3832, - "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": 3836, - "name": "lockedTokens", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4655, - "src": "541:24:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3834, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "541:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 3835, - "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": 3839, - "name": "year", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4655, - "src": "572:40:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3837, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "572:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "333635", - "id": 3838, - "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": 3841, - "name": "erc20", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4655, - "src": "623:18:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8051", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 3840, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8051, - "src": "623:5:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8051", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "public" - }, - { - "canonicalName": "StakingContract.SubscriptionAPR", - "id": 3860, - "members": [ - { - "constant": false, - "id": 3843, - "name": "_id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3860, - "src": "681:11:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3842, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "681:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3845, - "name": "productId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3860, - "src": "702:17:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3844, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "702:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3847, - "name": "startDate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3860, - "src": "729:17:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3846, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "729:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3849, - "name": "endDate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3860, - "src": "756:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3848, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "756:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3851, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3860, - "src": "781:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3850, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "781:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3853, - "name": "subscriberAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3860, - "src": "805:25:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3852, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "805:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3855, - "name": "APR", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3860, - "src": "840:11:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3854, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "840:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3857, - "name": "finalized", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3860, - "src": "888:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3856, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "888:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3859, - "name": "withdrawAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3860, - "src": "912:22:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3858, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "912:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "SubscriptionAPR", - "nodeType": "StructDefinition", - "scope": 4655, - "src": "648:293:7", - "visibility": "public" - }, - { - "canonicalName": "StakingContract.ProductAPR", - "id": 3887, - "members": [ - { - "constant": false, - "id": 3862, - "name": "createdAt", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3887, - "src": "975:17:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3861, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "975:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3864, - "name": "startDate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3887, - "src": "1002:17:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3863, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1002:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3866, - "name": "endDate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3887, - "src": "1029:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3865, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1029:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3868, - "name": "totalMaxAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3887, - "src": "1054:22:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3867, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1054:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3870, - "name": "individualMinimumAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3887, - "src": "1086:31:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3869, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1086:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3872, - "name": "APR", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3887, - "src": "1127:11:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3871, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1127:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3874, - "name": "currentAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3887, - "src": "1175:21:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3873, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1175:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3876, - "name": "lockedUntilFinalization", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3887, - "src": "1206:28:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3875, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1206:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3879, - "name": "subscribers", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3887, - "src": "1295:21:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 3877, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1295:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3878, - "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": 3882, - "name": "subscriptionIds", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3887, - "src": "1326:25:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3880, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1326:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3881, - "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": 3886, - "name": "subscriptions", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3887, - "src": "1361:49:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_SubscriptionAPR_$3860_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.SubscriptionAPR)" - }, - "typeName": { - "id": 3885, - "keyType": { - "id": 3883, - "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_$3860_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.SubscriptionAPR)" - }, - "valueType": { - "contractScope": null, - "id": 3884, - "name": "SubscriptionAPR", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3860, - "src": "1380:15:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$3860_storage_ptr", - "typeString": "struct StakingContract.SubscriptionAPR" - } - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "ProductAPR", - "nodeType": "StructDefinition", - "scope": 4655, - "src": "947:496:7", - "visibility": "public" - }, - { - "body": { - "id": 3898, - "nodeType": "Block", - "src": "1495:45:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3896, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3892, - "name": "erc20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3841, - "src": "1505:5:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8051", - "typeString": "contract ERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3894, - "name": "_tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3889, - "src": "1519:13:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3893, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8051, - "src": "1513:5:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$8051_$", - "typeString": "type(contract ERC20)" - } - }, - "id": 3895, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1513:20:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8051", - "typeString": "contract ERC20" - } - }, - "src": "1505:28:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8051", - "typeString": "contract ERC20" - } - }, - "id": 3897, - "nodeType": "ExpressionStatement", - "src": "1505:28:7" - } - ] - }, - "documentation": null, - "id": 3899, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3890, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3889, - "name": "_tokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3899, - "src": "1465:21:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3888, - "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": 3891, - "nodeType": "ParameterList", - "parameters": [], - "src": "1495:0:7" - }, - "scope": 4655, - "src": "1453:87:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3912, - "nodeType": "Block", - "src": "1632:54:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3908, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "1673:4:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_StakingContract_$4655", - "typeString": "contract StakingContract" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_StakingContract_$4655", - "typeString": "contract StakingContract" - } - ], - "id": 3907, - "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": 3906, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1665:7:7", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 3909, - "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": 3904, - "name": "erc20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3841, - "src": "1649:5:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8051", - "typeString": "contract ERC20" - } - }, - "id": 3905, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 7663, - "src": "1649:15:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 3910, - "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": 3903, - "id": 3911, - "nodeType": "Return", - "src": "1642:37:7" - } - ] - }, - "documentation": null, - "functionSelector": "6ede8332", - "id": 3913, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "heldTokens", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3900, - "nodeType": "ParameterList", - "parameters": [], - "src": "1599:2:7" - }, - "returnParameters": { - "id": 3903, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3902, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3913, - "src": "1623:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3901, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1623:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1622:9:7" - }, - "scope": 4655, - "src": "1580:106:7", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3920, - "nodeType": "Block", - "src": "1788:36:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3918, - "name": "lockedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3836, - "src": "1805:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3917, - "id": 3919, - "nodeType": "Return", - "src": "1798:19:7" - } - ] - }, - "documentation": null, - "functionSelector": "76f7ca6e", - "id": 3921, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "futureLockedTokens", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3914, - "nodeType": "ParameterList", - "parameters": [], - "src": "1755:2:7" - }, - "returnParameters": { - "id": 3917, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3916, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3921, - "src": "1779:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3915, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1779:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1778:9:7" - }, - "scope": 4655, - "src": "1728:96:7", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3933, - "nodeType": "Block", - "src": "1948:62:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 3929, - "name": "futureLockedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3921, - "src": "1982:18:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 3930, - "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": 3926, - "name": "heldTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3913, - "src": "1965:10:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 3927, - "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": 3928, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7422, - "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": 3931, - "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": 3925, - "id": 3932, - "nodeType": "Return", - "src": "1958:45:7" - } - ] - }, - "documentation": null, - "functionSelector": "69bb4dc2", - "id": 3934, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "availableTokens", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3922, - "nodeType": "ParameterList", - "parameters": [], - "src": "1915:2:7" - }, - "returnParameters": { - "id": 3925, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3924, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3934, - "src": "1939:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3923, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1939:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1938:9:7" - }, - "scope": 4655, - "src": "1891:119:7", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4126, - "nodeType": "Block", - "src": "2103:1947:7", - "statements": [ - { - "assignments": [ - 3944 - ], - "declarations": [ - { - "constant": false, - "id": 3944, - "name": "time", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4126, - "src": "2114:12:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3943, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2114:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3947, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3945, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "2129:5:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 3946, - "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": 3951, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3949, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3938, - "src": "2203:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3950, - "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": 3948, - "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": 3952, - "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": 3953, - "nodeType": "ExpressionStatement", - "src": "2195:20:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3961, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3955, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "2282:5:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 3956, - "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": 3957, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3822, - "src": "2300:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$3887_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 3959, - "indexExpression": { - "argumentTypes": null, - "id": 3958, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3936, - "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_$3887_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 3960, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "endDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 3866, - "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": 3954, - "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": 3962, - "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": 3963, - "nodeType": "ExpressionStatement", - "src": "2274:56:7" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3970, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3964, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "2396:5:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 3965, - "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": 3966, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3822, - "src": "2414:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$3887_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 3968, - "indexExpression": { - "argumentTypes": null, - "id": 3967, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3936, - "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_$3887_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 3969, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "startDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 3864, - "src": "2414:31:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2396:49:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 3979, - "nodeType": "IfStatement", - "src": "2393:116:7", - "trueBody": { - "id": 3978, - "nodeType": "Block", - "src": "2446:63:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3976, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3971, - "name": "time", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3944, - "src": "2460:4:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3972, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3822, - "src": "2467:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$3887_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 3974, - "indexExpression": { - "argumentTypes": null, - "id": 3973, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3936, - "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_$3887_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 3975, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "startDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 3864, - "src": "2467:31:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2460:38:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3977, - "nodeType": "ExpressionStatement", - "src": "2460:38:7" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3992, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3981, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3822, - "src": "2588:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$3887_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 3983, - "indexExpression": { - "argumentTypes": null, - "id": 3982, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3936, - "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_$3887_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 3984, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalMaxAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 3868, - "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": 3990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3985, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3822, - "src": "2628:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$3887_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 3987, - "indexExpression": { - "argumentTypes": null, - "id": 3986, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3936, - "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_$3887_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 3988, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "currentAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 3874, - "src": "2628:35:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 3989, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3938, - "src": "2666:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2628:45:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3991, - "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": 3980, - "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": 3993, - "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": 3994, - "nodeType": "ExpressionStatement", - "src": "2580:95:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4001, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3996, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3938, - "src": "2753:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3997, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3822, - "src": "2764:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$3887_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 3999, - "indexExpression": { - "argumentTypes": null, - "id": 3998, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3936, - "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_$3887_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4000, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "individualMinimumAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 3870, - "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": 3995, - "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": 4002, - "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": 4003, - "nodeType": "ExpressionStatement", - "src": "2745:65:7" - }, - { - "assignments": [ - 4005 - ], - "declarations": [ - { - "constant": false, - "id": 4005, - "name": "futureAPRAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4126, - "src": "2829:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4004, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2829:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4018, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4007, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3822, - "src": "2868:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$3887_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4009, - "indexExpression": { - "argumentTypes": null, - "id": 4008, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3936, - "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_$3887_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4010, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "APR", - "nodeType": "MemberAccess", - "referencedDeclaration": 3872, - "src": "2868:25:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4011, - "name": "time", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3944, - "src": "2895:4:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4012, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3822, - "src": "2901:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$3887_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4014, - "indexExpression": { - "argumentTypes": null, - "id": 4013, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3936, - "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_$3887_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4015, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "endDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 3866, - "src": "2901:29:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4016, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3938, - "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": 4006, - "name": "getAPRAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4271, - "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": 4017, - "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": 4023, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 4020, - "name": "availableTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3934, - "src": "3036:15:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 4021, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3036:17:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 4022, - "name": "futureAPRAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4005, - "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": 4019, - "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": 4024, - "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": 4025, - "nodeType": "ExpressionStatement", - "src": "3028:45:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4029, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3169:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4030, - "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": 4033, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "3189:4:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_StakingContract_$4655", - "typeString": "contract StakingContract" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_StakingContract_$4655", - "typeString": "contract StakingContract" - } - ], - "id": 4032, - "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": 4031, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3181:7:7", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 4034, - "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": 4035, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3938, - "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": 4027, - "name": "erc20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3841, - "src": "3150:5:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8051", - "typeString": "contract ERC20" - } - }, - "id": 4028, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 7757, - "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": 4036, - "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": 4026, - "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": 4037, - "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": 4038, - "nodeType": "ExpressionStatement", - "src": "3142:63:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 4047, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4039, - "name": "lockedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3836, - "src": "3250:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4044, - "name": "futureAPRAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4005, - "src": "3294:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4042, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3938, - "src": "3282:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4043, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7401, - "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": 4045, - "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": 4040, - "name": "lockedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3836, - "src": "3265:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4041, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7401, - "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": 4046, - "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": 4048, - "nodeType": "ExpressionStatement", - "src": "3250:61:7" - }, - { - "assignments": [ - 4050 - ], - "declarations": [ - { - "constant": false, - "id": 4050, - "name": "subscription_id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4126, - "src": "3322:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4049, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3322:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4052, - "initialValue": { - "argumentTypes": null, - "id": 4051, - "name": "incrementId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3833, - "src": "3348:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3322:37:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 4057, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4053, - "name": "incrementId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3833, - "src": "3369:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4056, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4054, - "name": "incrementId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3833, - "src": "3383:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 4055, - "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": 4058, - "nodeType": "ExpressionStatement", - "src": "3369:29:7" - }, - { - "assignments": [ - 4060 - ], - "declarations": [ - { - "constant": false, - "id": 4060, - "name": "subscriptionAPR", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4126, - "src": "3453:38:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$3860_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR" - }, - "typeName": { - "contractScope": null, - "id": 4059, - "name": "SubscriptionAPR", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3860, - "src": "3453:15:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$3860_storage_ptr", - "typeString": "struct StakingContract.SubscriptionAPR" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4079, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4062, - "name": "subscription_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4050, - "src": "3510:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4063, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3936, - "src": "3527:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4064, - "name": "time", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3944, - "src": "3540:4:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4065, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3822, - "src": "3546:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$3887_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4067, - "indexExpression": { - "argumentTypes": null, - "id": 4066, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3936, - "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_$3887_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4068, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "endDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 3866, - "src": "3546:29:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4069, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3938, - "src": "3577:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4070, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3595:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4071, - "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": 4072, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3822, - "src": "3607:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$3887_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4074, - "indexExpression": { - "argumentTypes": null, - "id": 4073, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3936, - "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_$3887_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4075, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "APR", - "nodeType": "MemberAccess", - "referencedDeclaration": 3872, - "src": "3607:25:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 4076, - "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": 4077, - "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": 4061, - "name": "SubscriptionAPR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3860, - "src": "3494:15:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_SubscriptionAPR_$3860_storage_ptr_$", - "typeString": "type(struct StakingContract.SubscriptionAPR storage pointer)" - } - }, - "id": 4078, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3494:149:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$3860_memory", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3453:190:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4085, - "name": "subscription_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4050, - "src": "3725:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4080, - "name": "mySubscriptions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3830, - "src": "3692:15:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 4083, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4081, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3708:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4082, - "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": 4084, - "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": 4086, - "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": 4087, - "nodeType": "ExpressionStatement", - "src": "3692:49:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4093, - "name": "subscription_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4050, - "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": 4088, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3822, - "src": "3751:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$3887_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4090, - "indexExpression": { - "argumentTypes": null, - "id": 4089, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3936, - "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_$3887_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4091, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "subscriptionIds", - "nodeType": "MemberAccess", - "referencedDeclaration": 3882, - "src": "3751:37:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 4092, - "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": 4094, - "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": 4095, - "nodeType": "ExpressionStatement", - "src": "3751:59:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 4103, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4096, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3822, - "src": "3820:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$3887_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4098, - "indexExpression": { - "argumentTypes": null, - "id": 4097, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3936, - "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_$3887_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4099, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "subscriptions", - "nodeType": "MemberAccess", - "referencedDeclaration": 3886, - "src": "3820:35:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_SubscriptionAPR_$3860_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.SubscriptionAPR storage ref)" - } - }, - "id": 4101, - "indexExpression": { - "argumentTypes": null, - "id": 4100, - "name": "subscription_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4050, - "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_$3860_storage", - "typeString": "struct StakingContract.SubscriptionAPR storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4102, - "name": "subscriptionAPR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4060, - "src": "3875:15:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$3860_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "src": "3820:70:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$3860_storage", - "typeString": "struct StakingContract.SubscriptionAPR storage ref" - } - }, - "id": 4104, - "nodeType": "ExpressionStatement", - "src": "3820:70:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 4115, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4105, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3822, - "src": "3900:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$3887_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4107, - "indexExpression": { - "argumentTypes": null, - "id": 4106, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3936, - "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_$3887_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4108, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "currentAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 3874, - "src": "3900:35:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4114, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4109, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3822, - "src": "3938:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$3887_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4111, - "indexExpression": { - "argumentTypes": null, - "id": 4110, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3936, - "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_$3887_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4112, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "currentAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 3874, - "src": "3938:35:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 4113, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3938, - "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": 4116, - "nodeType": "ExpressionStatement", - "src": "3900:83:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4122, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4032:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4123, - "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": 4117, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3822, - "src": "3993:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$3887_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4119, - "indexExpression": { - "argumentTypes": null, - "id": 4118, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3936, - "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_$3887_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4120, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "subscribers", - "nodeType": "MemberAccess", - "referencedDeclaration": 3879, - "src": "3993:33:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 4121, - "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": 4124, - "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": 4125, - "nodeType": "ExpressionStatement", - "src": "3993:50:7" - } - ] - }, - "documentation": null, - "functionSelector": "21090380", - "id": 4127, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 3941, - "modifierName": { - "argumentTypes": null, - "id": 3940, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10566, - "src": "2089:13:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2089:13:7" - } - ], - "name": "subscribeProduct", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3939, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3936, - "name": "_product_id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4127, - "src": "2042:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3935, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2042:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3938, - "name": "_amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4127, - "src": "2063:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3937, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2063:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2041:38:7" - }, - "returnParameters": { - "id": 3942, - "nodeType": "ParameterList", - "parameters": [], - "src": "2103:0:7" - }, - "scope": 4655, - "src": "2016:2034:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 4237, - "nodeType": "Block", - "src": "4254:847:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4147, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "4301:5:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 4148, - "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": 4149, - "name": "_endDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4131, - "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": 4146, - "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": 4151, - "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": 4152, - "nodeType": "ExpressionStatement", - "src": "4293:35:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4154, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "4346:5:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 4155, - "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": 4156, - "name": "_startDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4129, - "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": 4153, - "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": 4158, - "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": 4159, - "nodeType": "ExpressionStatement", - "src": "4338:38:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4163, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4161, - "name": "_startDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4129, - "src": "4394:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 4162, - "name": "_endDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4131, - "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": 4160, - "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": 4164, - "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": 4165, - "nodeType": "ExpressionStatement", - "src": "4386:30:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4169, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4167, - "name": "_totalMaxAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4133, - "src": "4434:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4168, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "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": 4166, - "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": 4170, - "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": 4171, - "nodeType": "ExpressionStatement", - "src": "4426:28:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4175, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4173, - "name": "_individualMinimumAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4135, - "src": "4472:24:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4174, - "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": 4172, - "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": 4176, - "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": 4177, - "nodeType": "ExpressionStatement", - "src": "4464:37:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4181, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4179, - "name": "_totalMaxAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4133, - "src": "4519:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 4180, - "name": "_individualMinimumAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4135, - "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": 4178, - "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": 4182, - "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": 4183, - "nodeType": "ExpressionStatement", - "src": "4511:51:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4187, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4185, - "name": "_APR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4137, - "src": "4580:4:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4186, - "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": 4184, - "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": 4188, - "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": 4189, - "nodeType": "ExpressionStatement", - "src": "4572:17:7" - }, - { - "assignments": [ - 4194 - ], - "declarations": [ - { - "constant": false, - "id": 4194, - "name": "addressesI", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4237, - "src": "4600:27:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 4192, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4600:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4193, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4600:9:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4195, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "4600:27:7" - }, - { - "assignments": [ - 4200 - ], - "declarations": [ - { - "constant": false, - "id": 4200, - "name": "subscriptionsI", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4237, - "src": "4637:31:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 4198, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4637:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4199, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4637:9:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4201, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "4637:31:7" - }, - { - "assignments": [ - 4203 - ], - "declarations": [ - { - "constant": false, - "id": 4203, - "name": "productAPR", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4237, - "src": "4726:28:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$3887_memory_ptr", - "typeString": "struct StakingContract.ProductAPR" - }, - "typeName": { - "contractScope": null, - "id": 4202, - "name": "ProductAPR", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3887, - "src": "4726:10:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$3887_storage_ptr", - "typeString": "struct StakingContract.ProductAPR" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4217, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4205, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "4768:5:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 4206, - "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": 4207, - "name": "_startDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4129, - "src": "4785:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4208, - "name": "_endDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4131, - "src": "4797:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4209, - "name": "_totalMaxAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4133, - "src": "4807:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4210, - "name": "_individualMinimumAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4135, - "src": "4824:24:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4211, - "name": "_APR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4137, - "src": "4850:4:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 4212, - "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": 4213, - "name": "_lockedUntilFinalization", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4139, - "src": "4859:24:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 4214, - "name": "addressesI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4194, - "src": "4897:10:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - { - "argumentTypes": null, - "id": 4215, - "name": "subscriptionsI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4200, - "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": 4204, - "name": "ProductAPR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3887, - "src": "4757:10:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_ProductAPR_$3887_storage_ptr_$", - "typeString": "type(struct StakingContract.ProductAPR storage pointer)" - } - }, - "id": 4216, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4757:167:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$3887_memory", - "typeString": "struct StakingContract.ProductAPR memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4726:198:7" - }, - { - "assignments": [ - 4219 - ], - "declarations": [ - { - "constant": false, - "id": 4219, - "name": "product_id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4237, - "src": "4935:18:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4218, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4935:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4224, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4223, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4220, - "name": "productIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3825, - "src": "4956:10:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 4221, - "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": 4222, - "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": 4228, - "name": "product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4219, - "src": "5040:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4225, - "name": "productIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3825, - "src": "5024:10:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 4227, - "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": 4229, - "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": 4230, - "nodeType": "ExpressionStatement", - "src": "5024:27:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 4235, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4231, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3822, - "src": "5061:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$3887_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4233, - "indexExpression": { - "argumentTypes": null, - "id": 4232, - "name": "product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4219, - "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_$3887_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4234, - "name": "productAPR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4203, - "src": "5084:10:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$3887_memory_ptr", - "typeString": "struct StakingContract.ProductAPR memory" - } - }, - "src": "5061:33:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$3887_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4236, - "nodeType": "ExpressionStatement", - "src": "5061:33:7" - } - ] - }, - "documentation": null, - "functionSelector": "2c6131cb", - "id": 4238, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 4142, - "modifierName": { - "argumentTypes": null, - "id": 4141, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10566, - "src": "4230:13:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4230:13:7" - }, - { - "arguments": null, - "id": 4144, - "modifierName": { - "argumentTypes": null, - "id": 4143, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7136, - "src": "4244:9:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4244:9:7" - } - ], - "name": "createProduct", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4140, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4129, - "name": "_startDate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4238, - "src": "4079:18:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4128, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4079:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4131, - "name": "_endDate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4238, - "src": "4099:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4130, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4099:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4133, - "name": "_totalMaxAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4238, - "src": "4117:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4132, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4117:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4135, - "name": "_individualMinimumAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4238, - "src": "4142:32:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4134, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4142:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4137, - "name": "_APR", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4238, - "src": "4176:12:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4136, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4176:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4139, - "name": "_lockedUntilFinalization", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4238, - "src": "4190:29:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4138, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4190:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4078:142:7" - }, - "returnParameters": { - "id": 4145, - "nodeType": "ParameterList", - "parameters": [], - "src": "4254:0:7" - }, - "scope": 4655, - "src": "4056:1045:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 4270, - "nodeType": "Block", - "src": "5228:94:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "313030", - "id": 4266, - "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": 4264, - "name": "year", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3839, - "src": "5301:4:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4265, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7455, - "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": 4267, - "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": 4260, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4246, - "src": "5287:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4257, - "name": "_APR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4240, - "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": 4253, - "name": "_startDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4242, - "src": "5260:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4251, - "name": "_endDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4244, - "src": "5247:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4252, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7422, - "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": 4254, - "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": 4255, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5246:26:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4256, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7455, - "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": 4258, - "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": 4259, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7455, - "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": 4261, - "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": 4262, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5245:51:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7476, - "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": 4268, - "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": 4250, - "id": 4269, - "nodeType": "Return", - "src": "5238:77:7" - } - ] - }, - "documentation": null, - "functionSelector": "7e6288f1", - "id": 4271, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getAPRAmount", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4247, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4240, - "name": "_APR", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4271, - "src": "5130:12:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4239, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5130:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4242, - "name": "_startDate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4271, - "src": "5144:18:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4241, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5144:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4244, - "name": "_endDate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4271, - "src": "5164:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4243, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5164:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4246, - "name": "_amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4271, - "src": "5182:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4245, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5182:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5129:69:7" - }, - "returnParameters": { - "id": 4250, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4249, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4271, - "src": "5219:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4248, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5219:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5218:9:7" - }, - "scope": 4655, - "src": "5108:214:7", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4279, - "nodeType": "Block", - "src": "5391:34:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 4277, - "name": "productIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3825, - "src": "5408:10:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "functionReturnParameters": 4276, - "id": 4278, - "nodeType": "Return", - "src": "5401:17:7" - } - ] - }, - "documentation": null, - "functionSelector": "47428e7b", - "id": 4280, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getProductIds", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4272, - "nodeType": "ParameterList", - "parameters": [], - "src": "5350:2:7" - }, - "returnParameters": { - "id": 4276, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4275, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4280, - "src": "5373:16:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 4273, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5373:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4274, - "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": 4655, - "src": "5328:97:7", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4292, - "nodeType": "Block", - "src": "5515:49:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4288, - "name": "mySubscriptions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3830, - "src": "5532:15:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 4290, - "indexExpression": { - "argumentTypes": null, - "id": 4289, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4282, - "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": 4287, - "id": 4291, - "nodeType": "Return", - "src": "5525:32:7" - } - ] - }, - "documentation": null, - "functionSelector": "130d8945", - "id": 4293, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getMySubscriptions", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4283, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4282, - "name": "_address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4293, - "src": "5459:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4281, - "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": 4287, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4286, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4293, - "src": "5497:16:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 4284, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5497:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4285, - "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": 4655, - "src": "5431:133:7", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4502, - "nodeType": "Block", - "src": "5670:2409:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4303, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3822, - "src": "5726:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$3887_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4305, - "indexExpression": { - "argumentTypes": null, - "id": 4304, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4295, - "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_$3887_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4306, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "endDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 3866, - "src": "5726:29:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4307, - "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": 4309, - "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": 4302, - "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": 4310, - "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": 4311, - "nodeType": "ExpressionStatement", - "src": "5718:66:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4313, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3822, - "src": "5845:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$3887_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4315, - "indexExpression": { - "argumentTypes": null, - "id": 4314, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4295, - "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_$3887_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4316, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "subscriptions", - "nodeType": "MemberAccess", - "referencedDeclaration": 3886, - "src": "5845:35:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_SubscriptionAPR_$3860_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.SubscriptionAPR storage ref)" - } - }, - "id": 4318, - "indexExpression": { - "argumentTypes": null, - "id": 4317, - "name": "_subscription_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4297, - "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_$3860_storage", - "typeString": "struct StakingContract.SubscriptionAPR storage ref" - } - }, - "id": 4319, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "endDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 3849, - "src": "5845:61:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4320, - "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": 4322, - "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": 4312, - "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": 4323, - "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": 4324, - "nodeType": "ExpressionStatement", - "src": "5837:101:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4334, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4326, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3822, - "src": "6009:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$3887_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4328, - "indexExpression": { - "argumentTypes": null, - "id": 4327, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4295, - "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_$3887_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4329, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "subscriptions", - "nodeType": "MemberAccess", - "referencedDeclaration": 3886, - "src": "6009:35:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_SubscriptionAPR_$3860_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.SubscriptionAPR storage ref)" - } - }, - "id": 4331, - "indexExpression": { - "argumentTypes": null, - "id": 4330, - "name": "_subscription_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4297, - "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_$3860_storage", - "typeString": "struct StakingContract.SubscriptionAPR storage ref" - } - }, - "id": 4332, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 3857, - "src": "6009:63:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 4333, - "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": 4335, - "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": 4325, - "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": 4336, - "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": 4337, - "nodeType": "ExpressionStatement", - "src": "6001:119:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 4348, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4339, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3822, - "src": "6187:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$3887_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4341, - "indexExpression": { - "argumentTypes": null, - "id": 4340, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4295, - "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_$3887_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4342, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "subscriptions", - "nodeType": "MemberAccess", - "referencedDeclaration": 3886, - "src": "6187:35:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_SubscriptionAPR_$3860_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.SubscriptionAPR storage ref)" - } - }, - "id": 4344, - "indexExpression": { - "argumentTypes": null, - "id": 4343, - "name": "_subscription_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4297, - "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_$3860_storage", - "typeString": "struct StakingContract.SubscriptionAPR storage ref" - } - }, - "id": 4345, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "subscriberAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 3853, - "src": "6187:71:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4346, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6262:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4347, - "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": 4349, - "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": 4338, - "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": 4350, - "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": 4351, - "nodeType": "ExpressionStatement", - "src": "6179:124:7" - }, - { - "assignments": [ - 4353 - ], - "declarations": [ - { - "constant": false, - "id": 4353, - "name": "subscription", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4502, - "src": "6314:35:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$3860_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR" - }, - "typeName": { - "contractScope": null, - "id": 4352, - "name": "SubscriptionAPR", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3860, - "src": "6314:15:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$3860_storage_ptr", - "typeString": "struct StakingContract.SubscriptionAPR" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4360, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4354, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3822, - "src": "6352:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$3887_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4356, - "indexExpression": { - "argumentTypes": null, - "id": 4355, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4295, - "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_$3887_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4357, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "subscriptions", - "nodeType": "MemberAccess", - "referencedDeclaration": 3886, - "src": "6352:35:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_SubscriptionAPR_$3860_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.SubscriptionAPR storage ref)" - } - }, - "id": 4359, - "indexExpression": { - "argumentTypes": null, - "id": 4358, - "name": "_subscription_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4297, - "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_$3860_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": 4366, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4362, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "6476:5:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 4363, - "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": 4364, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4353, - "src": "6494:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$3860_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4365, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "startDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 3847, - "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": 4367, - "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": 4361, - "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": 4368, - "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": 4369, - "nodeType": "ExpressionStatement", - "src": "6468:80:7" - }, - { - "assignments": [ - 4371 - ], - "declarations": [ - { - "constant": false, - "id": 4371, - "name": "finishDate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4502, - "src": "6598:18:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4370, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6598:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4374, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4372, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "6619:5:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 4373, - "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": 4381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4375, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "6700:5:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 4376, - "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": 4377, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3822, - "src": "6719:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$3887_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4379, - "indexExpression": { - "argumentTypes": null, - "id": 4378, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4295, - "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_$3887_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4380, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "endDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 3866, - "src": "6719:29:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6700:48:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 4400, - "nodeType": "Block", - "src": "6820:197:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4391, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3822, - "src": "6909:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$3887_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4393, - "indexExpression": { - "argumentTypes": null, - "id": 4392, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4295, - "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_$3887_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4394, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lockedUntilFinalization", - "nodeType": "MemberAccess", - "referencedDeclaration": 3876, - "src": "6909:45:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 4395, - "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": 4397, - "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": 4390, - "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": 4398, - "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": 4399, - "nodeType": "ExpressionStatement", - "src": "6901:105:7" - } - ] - }, - "id": 4401, - "nodeType": "IfStatement", - "src": "6697:320:7", - "trueBody": { - "id": 4389, - "nodeType": "Block", - "src": "6749:67:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 4387, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4382, - "name": "finishDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4371, - "src": "6763:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4383, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3822, - "src": "6776:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$3887_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4385, - "indexExpression": { - "argumentTypes": null, - "id": 4384, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4295, - "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_$3887_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4386, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "endDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 3866, - "src": "6776:29:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6763:42:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4388, - "nodeType": "ExpressionStatement", - "src": "6763:42:7" - } - ] - } - }, - { - "assignments": [ - 4403 - ], - "declarations": [ - { - "constant": false, - "id": 4403, - "name": "APRedAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4502, - "src": "7027:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4402, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7027:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4413, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4405, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4353, - "src": "7062:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$3860_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4406, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "APR", - "nodeType": "MemberAccess", - "referencedDeclaration": 3855, - "src": "7062:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4407, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4353, - "src": "7080:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$3860_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4408, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "startDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 3847, - "src": "7080:22:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4409, - "name": "finishDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4371, - "src": "7104:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4410, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4353, - "src": "7116:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$3860_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4411, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 3851, - "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": 4404, - "name": "getAPRAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4271, - "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": 4412, - "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": 4417, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4415, - "name": "APRedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4403, - "src": "7154:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4416, - "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": 4418, - "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": 4414, - "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": 4419, - "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": 4420, - "nodeType": "ExpressionStatement", - "src": "7146:62:7" - }, - { - "assignments": [ - 4422 - ], - "declarations": [ - { - "constant": false, - "id": 4422, - "name": "totalAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4502, - "src": "7218:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4421, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7218:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4428, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4426, - "name": "APRedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4403, - "src": "7264:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4423, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4353, - "src": "7240:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$3860_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4424, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 3851, - "src": "7240:19:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4425, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7401, - "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": 4427, - "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": [ - 4430 - ], - "declarations": [ - { - "constant": false, - "id": 4430, - "name": "totalAmountWithFullAPR", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4502, - "src": "7286:30:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4429, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7286:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4447, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4435, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4353, - "src": "7356:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$3860_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4436, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "APR", - "nodeType": "MemberAccess", - "referencedDeclaration": 3855, - "src": "7356:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4437, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4353, - "src": "7374:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$3860_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4438, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "startDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 3847, - "src": "7374:22:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4439, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3822, - "src": "7398:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$3887_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4441, - "indexExpression": { - "argumentTypes": null, - "id": 4440, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4295, - "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_$3887_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4442, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "endDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 3866, - "src": "7398:29:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4443, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4353, - "src": "7429:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$3860_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4444, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 3851, - "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": 4434, - "name": "getAPRAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4271, - "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": 4445, - "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": 4431, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4353, - "src": "7319:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$3860_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4432, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 3851, - "src": "7319:19:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4433, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7401, - "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": 4446, - "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": 4451, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4449, - "name": "totalAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4422, - "src": "7468:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4450, - "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": 4452, - "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": 4448, - "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": 4453, - "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": 4454, - "nodeType": "ExpressionStatement", - "src": "7460:64:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 4463, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4455, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3822, - "src": "7569:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$3887_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4457, - "indexExpression": { - "argumentTypes": null, - "id": 4456, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4295, - "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_$3887_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4458, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "subscriptions", - "nodeType": "MemberAccess", - "referencedDeclaration": 3886, - "src": "7569:35:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_SubscriptionAPR_$3860_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.SubscriptionAPR storage ref)" - } - }, - "id": 4460, - "indexExpression": { - "argumentTypes": null, - "id": 4459, - "name": "_subscription_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4297, - "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_$3860_storage", - "typeString": "struct StakingContract.SubscriptionAPR storage ref" - } - }, - "id": 4461, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 3857, - "src": "7569:63:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 4462, - "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": 4464, - "nodeType": "ExpressionStatement", - "src": "7569:70:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 4473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4465, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3822, - "src": "7649:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$3887_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4467, - "indexExpression": { - "argumentTypes": null, - "id": 4466, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4295, - "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_$3887_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4468, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "subscriptions", - "nodeType": "MemberAccess", - "referencedDeclaration": 3886, - "src": "7649:35:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_SubscriptionAPR_$3860_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.SubscriptionAPR storage ref)" - } - }, - "id": 4470, - "indexExpression": { - "argumentTypes": null, - "id": 4469, - "name": "_subscription_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4297, - "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_$3860_storage", - "typeString": "struct StakingContract.SubscriptionAPR storage ref" - } - }, - "id": 4471, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "endDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 3849, - "src": "7649:61:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4472, - "name": "finishDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4371, - "src": "7713:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7649:74:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4474, - "nodeType": "ExpressionStatement", - "src": "7649:74:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 4483, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4475, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3822, - "src": "7733:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$3887_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4477, - "indexExpression": { - "argumentTypes": null, - "id": 4476, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4295, - "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_$3887_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4478, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "subscriptions", - "nodeType": "MemberAccess", - "referencedDeclaration": 3886, - "src": "7733:35:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_SubscriptionAPR_$3860_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.SubscriptionAPR storage ref)" - } - }, - "id": 4480, - "indexExpression": { - "argumentTypes": null, - "id": 4479, - "name": "_subscription_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4297, - "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_$3860_storage", - "typeString": "struct StakingContract.SubscriptionAPR storage ref" - } - }, - "id": 4481, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "withdrawAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 3859, - "src": "7733:68:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4482, - "name": "totalAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4422, - "src": "7804:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7733:82:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4484, - "nodeType": "ExpressionStatement", - "src": "7733:82:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4488, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4353, - "src": "7904:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$3860_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4489, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "subscriberAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 3853, - "src": "7904:30:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 4490, - "name": "totalAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4422, - "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": 4486, - "name": "erc20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3841, - "src": "7889:5:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8051", - "typeString": "contract ERC20" - } - }, - "id": 4487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 7683, - "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": 4491, - "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": 4492, - "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": 4485, - "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": 4493, - "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": 4494, - "nodeType": "ExpressionStatement", - "src": "7881:91:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 4500, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4495, - "name": "lockedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3836, - "src": "8017:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4498, - "name": "totalAmountWithFullAPR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4430, - "src": "8049:22:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4496, - "name": "lockedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3836, - "src": "8032:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4497, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7422, - "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": 4499, - "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": 4501, - "nodeType": "ExpressionStatement", - "src": "8017:55:7" - } - ] - }, - "documentation": null, - "functionSelector": "0ea52b6c", - "id": 4503, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 4300, - "modifierName": { - "argumentTypes": null, - "id": 4299, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10566, - "src": "5656:13:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "5656:13:7" - } - ], - "name": "withdrawSubscription", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4298, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4295, - "name": "_product_id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4503, - "src": "5600:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4294, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5600:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4297, - "name": "_subscription_id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4503, - "src": "5621:24:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4296, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5621:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5599:47:7" - }, - "returnParameters": { - "id": 4301, - "nodeType": "ParameterList", - "parameters": [], - "src": "5670:0:7" - }, - "scope": 4655, - "src": "5570:2509:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 4557, - "nodeType": "Block", - "src": "8260:352:7", - "statements": [ - { - "assignments": [ - 4529 - ], - "declarations": [ - { - "constant": false, - "id": 4529, - "name": "subscription", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4557, - "src": "8271:35:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$3860_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR" - }, - "typeName": { - "contractScope": null, - "id": 4528, - "name": "SubscriptionAPR", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3860, - "src": "8271:15:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$3860_storage_ptr", - "typeString": "struct StakingContract.SubscriptionAPR" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4536, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4530, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3822, - "src": "8309:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$3887_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4532, - "indexExpression": { - "argumentTypes": null, - "id": 4531, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4507, - "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_$3887_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4533, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "subscriptions", - "nodeType": "MemberAccess", - "referencedDeclaration": 3886, - "src": "8309:35:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_SubscriptionAPR_$3860_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.SubscriptionAPR storage ref)" - } - }, - "id": 4535, - "indexExpression": { - "argumentTypes": null, - "id": 4534, - "name": "_subscription_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4505, - "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_$3860_storage", - "typeString": "struct StakingContract.SubscriptionAPR storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8271:91:7" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4537, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4529, - "src": "8381:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$3860_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4538, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 3843, - "src": "8381:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4539, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4529, - "src": "8399:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$3860_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4540, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "productId", - "nodeType": "MemberAccess", - "referencedDeclaration": 3845, - "src": "8399:22:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4541, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4529, - "src": "8423:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$3860_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4542, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "startDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 3847, - "src": "8423:22:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4543, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4529, - "src": "8447:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$3860_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4544, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "endDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 3849, - "src": "8447:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4545, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4529, - "src": "8482:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$3860_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4546, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 3851, - "src": "8482:19:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4547, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4529, - "src": "8503:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$3860_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4548, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "subscriberAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 3853, - "src": "8503:30:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4549, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4529, - "src": "8535:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$3860_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4550, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "APR", - "nodeType": "MemberAccess", - "referencedDeclaration": 3855, - "src": "8535:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4551, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4529, - "src": "8553:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$3860_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4552, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 3857, - "src": "8553:22:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4553, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4529, - "src": "8577:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$3860_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4554, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "withdrawAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 3859, - "src": "8577:27:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4555, - "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": 4527, - "id": 4556, - "nodeType": "Return", - "src": "8373:232:7" - } - ] - }, - "documentation": null, - "functionSelector": "a461efb9", - "id": 4558, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getSubscription", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4508, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4505, - "name": "_subscription_id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4558, - "src": "8113:24:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4504, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8113:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4507, - "name": "_product_id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4558, - "src": "8139:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4506, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8139:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8112:47:7" - }, - "returnParameters": { - "id": 4527, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4510, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4558, - "src": "8183:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4509, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8183:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4512, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4558, - "src": "8192:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4511, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8192:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4514, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4558, - "src": "8201:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4513, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8201:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4516, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4558, - "src": "8210:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4515, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8210:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4518, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4558, - "src": "8219:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4517, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8219:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4520, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4558, - "src": "8228:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4519, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8228:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4522, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4558, - "src": "8237:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4521, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8237:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4524, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4558, - "src": "8246:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4523, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8246:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4526, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4558, - "src": "8252:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4525, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8252:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8182:78:7" - }, - "scope": 4655, - "src": "8088:524:7", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 4613, - "nodeType": "Block", - "src": "8790:346:7", - "statements": [ - { - "assignments": [ - 4586 - ], - "declarations": [ - { - "constant": false, - "id": 4586, - "name": "product", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4613, - "src": "8801:25:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$3887_memory_ptr", - "typeString": "struct StakingContract.ProductAPR" - }, - "typeName": { - "contractScope": null, - "id": 4585, - "name": "ProductAPR", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3887, - "src": "8801:10:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$3887_storage_ptr", - "typeString": "struct StakingContract.ProductAPR" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4590, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4587, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3822, - "src": "8829:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$3887_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4589, - "indexExpression": { - "argumentTypes": null, - "id": 4588, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4560, - "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_$3887_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8801:49:7" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4591, - "name": "product", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4586, - "src": "8869:7:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$3887_memory_ptr", - "typeString": "struct StakingContract.ProductAPR memory" - } - }, - "id": 4592, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "createdAt", - "nodeType": "MemberAccess", - "referencedDeclaration": 3862, - "src": "8869:17:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4593, - "name": "product", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4586, - "src": "8888:7:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$3887_memory_ptr", - "typeString": "struct StakingContract.ProductAPR memory" - } - }, - "id": 4594, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "startDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 3864, - "src": "8888:17:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4595, - "name": "product", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4586, - "src": "8907:7:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$3887_memory_ptr", - "typeString": "struct StakingContract.ProductAPR memory" - } - }, - "id": 4596, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "endDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 3866, - "src": "8907:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4597, - "name": "product", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4586, - "src": "8924:7:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$3887_memory_ptr", - "typeString": "struct StakingContract.ProductAPR memory" - } - }, - "id": 4598, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalMaxAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 3868, - "src": "8924:22:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4599, - "name": "product", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4586, - "src": "8961:7:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$3887_memory_ptr", - "typeString": "struct StakingContract.ProductAPR memory" - } - }, - "id": 4600, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "individualMinimumAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 3870, - "src": "8961:31:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4601, - "name": "product", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4586, - "src": "8994:7:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$3887_memory_ptr", - "typeString": "struct StakingContract.ProductAPR memory" - } - }, - "id": 4602, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "APR", - "nodeType": "MemberAccess", - "referencedDeclaration": 3872, - "src": "8994:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4603, - "name": "product", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4586, - "src": "9007:7:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$3887_memory_ptr", - "typeString": "struct StakingContract.ProductAPR memory" - } - }, - "id": 4604, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "currentAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 3874, - "src": "9007:21:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4605, - "name": "product", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4586, - "src": "9030:7:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$3887_memory_ptr", - "typeString": "struct StakingContract.ProductAPR memory" - } - }, - "id": 4606, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lockedUntilFinalization", - "nodeType": "MemberAccess", - "referencedDeclaration": 3876, - "src": "9030:31:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4607, - "name": "product", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4586, - "src": "9075:7:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$3887_memory_ptr", - "typeString": "struct StakingContract.ProductAPR memory" - } - }, - "id": 4608, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "subscribers", - "nodeType": "MemberAccess", - "referencedDeclaration": 3879, - "src": "9075:19:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4609, - "name": "product", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4586, - "src": "9096:7:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$3887_memory_ptr", - "typeString": "struct StakingContract.ProductAPR memory" - } - }, - "id": 4610, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "subscriptionIds", - "nodeType": "MemberAccess", - "referencedDeclaration": 3882, - "src": "9096:23:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - } - ], - "id": 4611, - "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": 4584, - "id": 4612, - "nodeType": "Return", - "src": "8861:268:7" - } - ] - }, - "documentation": null, - "functionSelector": "b9db15b4", - "id": 4614, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getProduct", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4561, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4560, - "name": "_product_id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4614, - "src": "8642:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4559, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8642:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8641:21:7" - }, - "returnParameters": { - "id": 4584, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4563, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4614, - "src": "8686:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4562, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8686:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4565, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4614, - "src": "8695:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4564, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8695:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4567, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4614, - "src": "8704:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4566, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8704:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4569, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4614, - "src": "8713:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4568, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8713:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4571, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4614, - "src": "8722:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4570, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8722:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4573, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4614, - "src": "8731:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4572, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8731:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4575, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4614, - "src": "8740:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4574, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8740:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4577, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4614, - "src": "8749:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4576, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8749:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4580, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4614, - "src": "8755:16:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 4578, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8755:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4579, - "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": 4583, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4614, - "src": "8773:16:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 4581, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8773:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4582, - "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": 4655, - "src": "8622:514:7", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 4637, - "nodeType": "Block", - "src": "9223:143:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4626, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4616, - "src": "9317:8:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4631, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "9351:4:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_StakingContract_$4655", - "typeString": "contract StakingContract" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_StakingContract_$4655", - "typeString": "contract StakingContract" - } - ], - "id": 4630, - "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": 4629, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9343:7:7", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 4632, - "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": 4627, - "name": "erc20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3841, - "src": "9327:5:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8051", - "typeString": "contract ERC20" - } - }, - "id": 4628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 7663, - "src": "9327:15:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 4633, - "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": 4624, - "name": "erc20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3841, - "src": "9302:5:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8051", - "typeString": "contract ERC20" - } - }, - "id": 4625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 7683, - "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": 4634, - "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": 4623, - "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": 4635, - "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": 4636, - "nodeType": "ExpressionStatement", - "src": "9294:65:7" - } - ] - }, - "documentation": null, - "functionSelector": "b90c72ae", - "id": 4638, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 4619, - "modifierName": { - "argumentTypes": null, - "id": 4618, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7136, - "src": "9201:9:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "9201:9:7" - }, - { - "arguments": null, - "id": 4621, - "modifierName": { - "argumentTypes": null, - "id": 4620, - "name": "whenPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10576, - "src": "9211:10:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "9211:10:7" - } - ], - "name": "safeGuardAllTokens", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4617, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4616, - "name": "_address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4638, - "src": "9174:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4615, - "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": 4622, - "nodeType": "ParameterList", - "parameters": [], - "src": "9223:0:7" - }, - "scope": 4655, - "src": "9146:220:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 4653, - "nodeType": "Block", - "src": "9454:115:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 4651, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4647, - "name": "erc20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3841, - "src": "9534:5:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8051", - "typeString": "contract ERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4649, - "name": "_tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4640, - "src": "9548:13:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4648, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8051, - "src": "9542:5:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$8051_$", - "typeString": "type(contract ERC20)" - } - }, - "id": 4650, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9542:20:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8051", - "typeString": "contract ERC20" - } - }, - "src": "9534:28:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8051", - "typeString": "contract ERC20" - } - }, - "id": 4652, - "nodeType": "ExpressionStatement", - "src": "9534:28:7" - } - ] - }, - "documentation": null, - "functionSelector": "c9cda91f", - "id": 4654, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 4643, - "modifierName": { - "argumentTypes": null, - "id": 4642, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7136, - "src": "9432:9:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "9432:9:7" - }, - { - "arguments": null, - "id": 4645, - "modifierName": { - "argumentTypes": null, - "id": 4644, - "name": "whenPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10576, - "src": "9442:10:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "9442:10:7" - } - ], - "name": "changeTokenAddress", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4641, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4640, - "name": "_tokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4654, - "src": "9400:21:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4639, - "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": 4646, - "nodeType": "ParameterList", - "parameters": [], - "src": "9454:0:7" - }, - "scope": 4655, - "src": "9372:197:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 4656, - "src": "199:9372:7" - } - ], - "src": "33:9538:7" - }, - "legacyAST": { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/StakingContract.sol", - "exportedSymbols": { - "StakingContract": [ - 4655 - ] - }, - "id": 4656, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 3808, - "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": 3809, - "nodeType": "ImportDirective", - "scope": 4656, - "sourceUnit": 8052, - "src": "59:55:7", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Pausable.sol", - "file": "@openzeppelin/contracts/utils/Pausable.sol", - "id": 3810, - "nodeType": "ImportDirective", - "scope": 4656, - "sourceUnit": 10608, - "src": "115:52:7", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Ownable.sol", - "file": "./utils/Ownable.sol", - "id": 3811, - "nodeType": "ImportDirective", - "scope": 4656, - "sourceUnit": 7164, - "src": "168:29:7", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 3812, - "name": "Pausable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10607, - "src": "227:8:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Pausable_$10607", - "typeString": "contract Pausable" - } - }, - "id": 3813, - "nodeType": "InheritanceSpecifier", - "src": "227:8:7" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 3814, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7163, - "src": "237:7:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$7163", - "typeString": "contract Ownable" - } - }, - "id": 3815, - "nodeType": "InheritanceSpecifier", - "src": "237:7:7" - } - ], - "contractDependencies": [ - 7163, - 9510, - 10607 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 4655, - "linearizedBaseContracts": [ - 4655, - 7163, - 10607, - 9510 - ], - "name": "StakingContract", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 3818, - "libraryName": { - "contractScope": null, - "id": 3816, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7567, - "src": "257:8:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$7567", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "251:27:7", - "typeName": { - "id": 3817, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "270:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "functionSelector": "7acc0b20", - "id": 3822, - "name": "products", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4655, - "src": "284:46:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$3887_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR)" - }, - "typeName": { - "id": 3821, - "keyType": { - "id": 3819, - "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_$3887_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR)" - }, - "valueType": { - "contractScope": null, - "id": 3820, - "name": "ProductAPR", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3887, - "src": "303:10:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$3887_storage_ptr", - "typeString": "struct StakingContract.ProductAPR" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "cb51bba9", - "id": 3825, - "name": "productIds", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4655, - "src": "361:27:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3823, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "361:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3824, - "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": 3830, - "name": "mySubscriptions", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4655, - "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": 3829, - "keyType": { - "id": 3826, - "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": 3827, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "440:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3828, - "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": 3833, - "name": "incrementId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4655, - "src": "512:23:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3831, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "512:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 3832, - "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": 3836, - "name": "lockedTokens", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4655, - "src": "541:24:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3834, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "541:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 3835, - "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": 3839, - "name": "year", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4655, - "src": "572:40:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3837, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "572:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "333635", - "id": 3838, - "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": 3841, - "name": "erc20", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4655, - "src": "623:18:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8051", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 3840, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8051, - "src": "623:5:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8051", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "public" - }, - { - "canonicalName": "StakingContract.SubscriptionAPR", - "id": 3860, - "members": [ - { - "constant": false, - "id": 3843, - "name": "_id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3860, - "src": "681:11:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3842, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "681:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3845, - "name": "productId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3860, - "src": "702:17:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3844, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "702:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3847, - "name": "startDate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3860, - "src": "729:17:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3846, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "729:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3849, - "name": "endDate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3860, - "src": "756:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3848, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "756:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3851, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3860, - "src": "781:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3850, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "781:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3853, - "name": "subscriberAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3860, - "src": "805:25:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3852, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "805:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3855, - "name": "APR", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3860, - "src": "840:11:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3854, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "840:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3857, - "name": "finalized", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3860, - "src": "888:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3856, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "888:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3859, - "name": "withdrawAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3860, - "src": "912:22:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3858, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "912:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "SubscriptionAPR", - "nodeType": "StructDefinition", - "scope": 4655, - "src": "648:293:7", - "visibility": "public" - }, - { - "canonicalName": "StakingContract.ProductAPR", - "id": 3887, - "members": [ - { - "constant": false, - "id": 3862, - "name": "createdAt", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3887, - "src": "975:17:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3861, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "975:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3864, - "name": "startDate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3887, - "src": "1002:17:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3863, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1002:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3866, - "name": "endDate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3887, - "src": "1029:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3865, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1029:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3868, - "name": "totalMaxAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3887, - "src": "1054:22:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3867, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1054:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3870, - "name": "individualMinimumAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3887, - "src": "1086:31:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3869, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1086:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3872, - "name": "APR", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3887, - "src": "1127:11:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3871, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1127:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3874, - "name": "currentAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3887, - "src": "1175:21:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3873, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1175:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3876, - "name": "lockedUntilFinalization", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3887, - "src": "1206:28:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3875, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1206:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3879, - "name": "subscribers", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3887, - "src": "1295:21:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 3877, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1295:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3878, - "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": 3882, - "name": "subscriptionIds", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3887, - "src": "1326:25:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3880, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1326:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3881, - "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": 3886, - "name": "subscriptions", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3887, - "src": "1361:49:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_SubscriptionAPR_$3860_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.SubscriptionAPR)" - }, - "typeName": { - "id": 3885, - "keyType": { - "id": 3883, - "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_$3860_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.SubscriptionAPR)" - }, - "valueType": { - "contractScope": null, - "id": 3884, - "name": "SubscriptionAPR", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3860, - "src": "1380:15:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$3860_storage_ptr", - "typeString": "struct StakingContract.SubscriptionAPR" - } - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "ProductAPR", - "nodeType": "StructDefinition", - "scope": 4655, - "src": "947:496:7", - "visibility": "public" - }, - { - "body": { - "id": 3898, - "nodeType": "Block", - "src": "1495:45:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3896, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3892, - "name": "erc20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3841, - "src": "1505:5:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8051", - "typeString": "contract ERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3894, - "name": "_tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3889, - "src": "1519:13:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3893, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8051, - "src": "1513:5:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$8051_$", - "typeString": "type(contract ERC20)" - } - }, - "id": 3895, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1513:20:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8051", - "typeString": "contract ERC20" - } - }, - "src": "1505:28:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8051", - "typeString": "contract ERC20" - } - }, - "id": 3897, - "nodeType": "ExpressionStatement", - "src": "1505:28:7" - } - ] - }, - "documentation": null, - "id": 3899, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3890, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3889, - "name": "_tokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3899, - "src": "1465:21:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3888, - "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": 3891, - "nodeType": "ParameterList", - "parameters": [], - "src": "1495:0:7" - }, - "scope": 4655, - "src": "1453:87:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3912, - "nodeType": "Block", - "src": "1632:54:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3908, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "1673:4:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_StakingContract_$4655", - "typeString": "contract StakingContract" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_StakingContract_$4655", - "typeString": "contract StakingContract" - } - ], - "id": 3907, - "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": 3906, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1665:7:7", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 3909, - "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": 3904, - "name": "erc20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3841, - "src": "1649:5:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8051", - "typeString": "contract ERC20" - } - }, - "id": 3905, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 7663, - "src": "1649:15:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 3910, - "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": 3903, - "id": 3911, - "nodeType": "Return", - "src": "1642:37:7" - } - ] - }, - "documentation": null, - "functionSelector": "6ede8332", - "id": 3913, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "heldTokens", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3900, - "nodeType": "ParameterList", - "parameters": [], - "src": "1599:2:7" - }, - "returnParameters": { - "id": 3903, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3902, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3913, - "src": "1623:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3901, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1623:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1622:9:7" - }, - "scope": 4655, - "src": "1580:106:7", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3920, - "nodeType": "Block", - "src": "1788:36:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3918, - "name": "lockedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3836, - "src": "1805:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3917, - "id": 3919, - "nodeType": "Return", - "src": "1798:19:7" - } - ] - }, - "documentation": null, - "functionSelector": "76f7ca6e", - "id": 3921, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "futureLockedTokens", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3914, - "nodeType": "ParameterList", - "parameters": [], - "src": "1755:2:7" - }, - "returnParameters": { - "id": 3917, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3916, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3921, - "src": "1779:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3915, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1779:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1778:9:7" - }, - "scope": 4655, - "src": "1728:96:7", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3933, - "nodeType": "Block", - "src": "1948:62:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 3929, - "name": "futureLockedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3921, - "src": "1982:18:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 3930, - "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": 3926, - "name": "heldTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3913, - "src": "1965:10:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 3927, - "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": 3928, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7422, - "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": 3931, - "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": 3925, - "id": 3932, - "nodeType": "Return", - "src": "1958:45:7" - } - ] - }, - "documentation": null, - "functionSelector": "69bb4dc2", - "id": 3934, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "availableTokens", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3922, - "nodeType": "ParameterList", - "parameters": [], - "src": "1915:2:7" - }, - "returnParameters": { - "id": 3925, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3924, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3934, - "src": "1939:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3923, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1939:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1938:9:7" - }, - "scope": 4655, - "src": "1891:119:7", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4126, - "nodeType": "Block", - "src": "2103:1947:7", - "statements": [ - { - "assignments": [ - 3944 - ], - "declarations": [ - { - "constant": false, - "id": 3944, - "name": "time", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4126, - "src": "2114:12:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3943, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2114:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3947, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3945, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "2129:5:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 3946, - "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": 3951, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3949, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3938, - "src": "2203:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3950, - "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": 3948, - "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": 3952, - "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": 3953, - "nodeType": "ExpressionStatement", - "src": "2195:20:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3961, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3955, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "2282:5:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 3956, - "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": 3957, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3822, - "src": "2300:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$3887_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 3959, - "indexExpression": { - "argumentTypes": null, - "id": 3958, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3936, - "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_$3887_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 3960, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "endDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 3866, - "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": 3954, - "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": 3962, - "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": 3963, - "nodeType": "ExpressionStatement", - "src": "2274:56:7" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3970, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3964, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "2396:5:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 3965, - "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": 3966, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3822, - "src": "2414:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$3887_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 3968, - "indexExpression": { - "argumentTypes": null, - "id": 3967, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3936, - "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_$3887_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 3969, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "startDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 3864, - "src": "2414:31:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2396:49:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 3979, - "nodeType": "IfStatement", - "src": "2393:116:7", - "trueBody": { - "id": 3978, - "nodeType": "Block", - "src": "2446:63:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3976, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3971, - "name": "time", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3944, - "src": "2460:4:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3972, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3822, - "src": "2467:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$3887_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 3974, - "indexExpression": { - "argumentTypes": null, - "id": 3973, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3936, - "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_$3887_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 3975, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "startDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 3864, - "src": "2467:31:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2460:38:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3977, - "nodeType": "ExpressionStatement", - "src": "2460:38:7" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3992, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3981, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3822, - "src": "2588:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$3887_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 3983, - "indexExpression": { - "argumentTypes": null, - "id": 3982, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3936, - "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_$3887_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 3984, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalMaxAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 3868, - "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": 3990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3985, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3822, - "src": "2628:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$3887_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 3987, - "indexExpression": { - "argumentTypes": null, - "id": 3986, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3936, - "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_$3887_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 3988, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "currentAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 3874, - "src": "2628:35:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 3989, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3938, - "src": "2666:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2628:45:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3991, - "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": 3980, - "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": 3993, - "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": 3994, - "nodeType": "ExpressionStatement", - "src": "2580:95:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4001, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3996, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3938, - "src": "2753:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3997, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3822, - "src": "2764:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$3887_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 3999, - "indexExpression": { - "argumentTypes": null, - "id": 3998, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3936, - "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_$3887_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4000, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "individualMinimumAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 3870, - "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": 3995, - "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": 4002, - "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": 4003, - "nodeType": "ExpressionStatement", - "src": "2745:65:7" - }, - { - "assignments": [ - 4005 - ], - "declarations": [ - { - "constant": false, - "id": 4005, - "name": "futureAPRAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4126, - "src": "2829:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4004, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2829:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4018, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4007, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3822, - "src": "2868:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$3887_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4009, - "indexExpression": { - "argumentTypes": null, - "id": 4008, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3936, - "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_$3887_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4010, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "APR", - "nodeType": "MemberAccess", - "referencedDeclaration": 3872, - "src": "2868:25:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4011, - "name": "time", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3944, - "src": "2895:4:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4012, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3822, - "src": "2901:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$3887_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4014, - "indexExpression": { - "argumentTypes": null, - "id": 4013, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3936, - "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_$3887_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4015, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "endDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 3866, - "src": "2901:29:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4016, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3938, - "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": 4006, - "name": "getAPRAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4271, - "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": 4017, - "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": 4023, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 4020, - "name": "availableTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3934, - "src": "3036:15:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 4021, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3036:17:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 4022, - "name": "futureAPRAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4005, - "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": 4019, - "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": 4024, - "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": 4025, - "nodeType": "ExpressionStatement", - "src": "3028:45:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4029, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3169:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4030, - "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": 4033, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "3189:4:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_StakingContract_$4655", - "typeString": "contract StakingContract" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_StakingContract_$4655", - "typeString": "contract StakingContract" - } - ], - "id": 4032, - "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": 4031, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3181:7:7", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 4034, - "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": 4035, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3938, - "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": 4027, - "name": "erc20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3841, - "src": "3150:5:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8051", - "typeString": "contract ERC20" - } - }, - "id": 4028, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 7757, - "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": 4036, - "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": 4026, - "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": 4037, - "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": 4038, - "nodeType": "ExpressionStatement", - "src": "3142:63:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 4047, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4039, - "name": "lockedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3836, - "src": "3250:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4044, - "name": "futureAPRAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4005, - "src": "3294:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4042, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3938, - "src": "3282:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4043, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7401, - "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": 4045, - "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": 4040, - "name": "lockedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3836, - "src": "3265:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4041, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7401, - "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": 4046, - "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": 4048, - "nodeType": "ExpressionStatement", - "src": "3250:61:7" - }, - { - "assignments": [ - 4050 - ], - "declarations": [ - { - "constant": false, - "id": 4050, - "name": "subscription_id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4126, - "src": "3322:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4049, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3322:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4052, - "initialValue": { - "argumentTypes": null, - "id": 4051, - "name": "incrementId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3833, - "src": "3348:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3322:37:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 4057, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4053, - "name": "incrementId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3833, - "src": "3369:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4056, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4054, - "name": "incrementId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3833, - "src": "3383:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 4055, - "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": 4058, - "nodeType": "ExpressionStatement", - "src": "3369:29:7" - }, - { - "assignments": [ - 4060 - ], - "declarations": [ - { - "constant": false, - "id": 4060, - "name": "subscriptionAPR", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4126, - "src": "3453:38:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$3860_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR" - }, - "typeName": { - "contractScope": null, - "id": 4059, - "name": "SubscriptionAPR", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3860, - "src": "3453:15:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$3860_storage_ptr", - "typeString": "struct StakingContract.SubscriptionAPR" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4079, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4062, - "name": "subscription_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4050, - "src": "3510:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4063, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3936, - "src": "3527:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4064, - "name": "time", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3944, - "src": "3540:4:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4065, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3822, - "src": "3546:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$3887_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4067, - "indexExpression": { - "argumentTypes": null, - "id": 4066, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3936, - "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_$3887_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4068, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "endDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 3866, - "src": "3546:29:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4069, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3938, - "src": "3577:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4070, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3595:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4071, - "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": 4072, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3822, - "src": "3607:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$3887_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4074, - "indexExpression": { - "argumentTypes": null, - "id": 4073, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3936, - "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_$3887_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4075, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "APR", - "nodeType": "MemberAccess", - "referencedDeclaration": 3872, - "src": "3607:25:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 4076, - "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": 4077, - "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": 4061, - "name": "SubscriptionAPR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3860, - "src": "3494:15:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_SubscriptionAPR_$3860_storage_ptr_$", - "typeString": "type(struct StakingContract.SubscriptionAPR storage pointer)" - } - }, - "id": 4078, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3494:149:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$3860_memory", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3453:190:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4085, - "name": "subscription_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4050, - "src": "3725:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4080, - "name": "mySubscriptions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3830, - "src": "3692:15:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 4083, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4081, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3708:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4082, - "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": 4084, - "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": 4086, - "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": 4087, - "nodeType": "ExpressionStatement", - "src": "3692:49:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4093, - "name": "subscription_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4050, - "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": 4088, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3822, - "src": "3751:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$3887_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4090, - "indexExpression": { - "argumentTypes": null, - "id": 4089, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3936, - "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_$3887_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4091, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "subscriptionIds", - "nodeType": "MemberAccess", - "referencedDeclaration": 3882, - "src": "3751:37:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 4092, - "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": 4094, - "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": 4095, - "nodeType": "ExpressionStatement", - "src": "3751:59:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 4103, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4096, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3822, - "src": "3820:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$3887_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4098, - "indexExpression": { - "argumentTypes": null, - "id": 4097, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3936, - "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_$3887_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4099, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "subscriptions", - "nodeType": "MemberAccess", - "referencedDeclaration": 3886, - "src": "3820:35:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_SubscriptionAPR_$3860_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.SubscriptionAPR storage ref)" - } - }, - "id": 4101, - "indexExpression": { - "argumentTypes": null, - "id": 4100, - "name": "subscription_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4050, - "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_$3860_storage", - "typeString": "struct StakingContract.SubscriptionAPR storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4102, - "name": "subscriptionAPR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4060, - "src": "3875:15:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$3860_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "src": "3820:70:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$3860_storage", - "typeString": "struct StakingContract.SubscriptionAPR storage ref" - } - }, - "id": 4104, - "nodeType": "ExpressionStatement", - "src": "3820:70:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 4115, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4105, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3822, - "src": "3900:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$3887_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4107, - "indexExpression": { - "argumentTypes": null, - "id": 4106, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3936, - "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_$3887_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4108, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "currentAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 3874, - "src": "3900:35:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4114, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4109, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3822, - "src": "3938:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$3887_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4111, - "indexExpression": { - "argumentTypes": null, - "id": 4110, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3936, - "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_$3887_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4112, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "currentAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 3874, - "src": "3938:35:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 4113, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3938, - "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": 4116, - "nodeType": "ExpressionStatement", - "src": "3900:83:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4122, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4032:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4123, - "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": 4117, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3822, - "src": "3993:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$3887_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4119, - "indexExpression": { - "argumentTypes": null, - "id": 4118, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3936, - "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_$3887_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4120, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "subscribers", - "nodeType": "MemberAccess", - "referencedDeclaration": 3879, - "src": "3993:33:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 4121, - "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": 4124, - "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": 4125, - "nodeType": "ExpressionStatement", - "src": "3993:50:7" - } - ] - }, - "documentation": null, - "functionSelector": "21090380", - "id": 4127, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 3941, - "modifierName": { - "argumentTypes": null, - "id": 3940, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10566, - "src": "2089:13:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2089:13:7" - } - ], - "name": "subscribeProduct", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3939, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3936, - "name": "_product_id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4127, - "src": "2042:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3935, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2042:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3938, - "name": "_amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4127, - "src": "2063:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3937, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2063:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2041:38:7" - }, - "returnParameters": { - "id": 3942, - "nodeType": "ParameterList", - "parameters": [], - "src": "2103:0:7" - }, - "scope": 4655, - "src": "2016:2034:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 4237, - "nodeType": "Block", - "src": "4254:847:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4147, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "4301:5:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 4148, - "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": 4149, - "name": "_endDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4131, - "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": 4146, - "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": 4151, - "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": 4152, - "nodeType": "ExpressionStatement", - "src": "4293:35:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4154, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "4346:5:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 4155, - "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": 4156, - "name": "_startDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4129, - "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": 4153, - "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": 4158, - "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": 4159, - "nodeType": "ExpressionStatement", - "src": "4338:38:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4163, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4161, - "name": "_startDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4129, - "src": "4394:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 4162, - "name": "_endDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4131, - "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": 4160, - "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": 4164, - "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": 4165, - "nodeType": "ExpressionStatement", - "src": "4386:30:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4169, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4167, - "name": "_totalMaxAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4133, - "src": "4434:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4168, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "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": 4166, - "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": 4170, - "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": 4171, - "nodeType": "ExpressionStatement", - "src": "4426:28:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4175, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4173, - "name": "_individualMinimumAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4135, - "src": "4472:24:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4174, - "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": 4172, - "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": 4176, - "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": 4177, - "nodeType": "ExpressionStatement", - "src": "4464:37:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4181, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4179, - "name": "_totalMaxAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4133, - "src": "4519:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 4180, - "name": "_individualMinimumAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4135, - "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": 4178, - "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": 4182, - "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": 4183, - "nodeType": "ExpressionStatement", - "src": "4511:51:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4187, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4185, - "name": "_APR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4137, - "src": "4580:4:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4186, - "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": 4184, - "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": 4188, - "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": 4189, - "nodeType": "ExpressionStatement", - "src": "4572:17:7" - }, - { - "assignments": [ - 4194 - ], - "declarations": [ - { - "constant": false, - "id": 4194, - "name": "addressesI", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4237, - "src": "4600:27:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 4192, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4600:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4193, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4600:9:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4195, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "4600:27:7" - }, - { - "assignments": [ - 4200 - ], - "declarations": [ - { - "constant": false, - "id": 4200, - "name": "subscriptionsI", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4237, - "src": "4637:31:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 4198, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4637:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4199, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4637:9:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4201, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "4637:31:7" - }, - { - "assignments": [ - 4203 - ], - "declarations": [ - { - "constant": false, - "id": 4203, - "name": "productAPR", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4237, - "src": "4726:28:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$3887_memory_ptr", - "typeString": "struct StakingContract.ProductAPR" - }, - "typeName": { - "contractScope": null, - "id": 4202, - "name": "ProductAPR", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3887, - "src": "4726:10:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$3887_storage_ptr", - "typeString": "struct StakingContract.ProductAPR" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4217, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4205, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "4768:5:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 4206, - "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": 4207, - "name": "_startDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4129, - "src": "4785:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4208, - "name": "_endDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4131, - "src": "4797:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4209, - "name": "_totalMaxAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4133, - "src": "4807:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4210, - "name": "_individualMinimumAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4135, - "src": "4824:24:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4211, - "name": "_APR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4137, - "src": "4850:4:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 4212, - "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": 4213, - "name": "_lockedUntilFinalization", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4139, - "src": "4859:24:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 4214, - "name": "addressesI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4194, - "src": "4897:10:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - { - "argumentTypes": null, - "id": 4215, - "name": "subscriptionsI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4200, - "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": 4204, - "name": "ProductAPR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3887, - "src": "4757:10:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_ProductAPR_$3887_storage_ptr_$", - "typeString": "type(struct StakingContract.ProductAPR storage pointer)" - } - }, - "id": 4216, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4757:167:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$3887_memory", - "typeString": "struct StakingContract.ProductAPR memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4726:198:7" - }, - { - "assignments": [ - 4219 - ], - "declarations": [ - { - "constant": false, - "id": 4219, - "name": "product_id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4237, - "src": "4935:18:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4218, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4935:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4224, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4223, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4220, - "name": "productIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3825, - "src": "4956:10:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 4221, - "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": 4222, - "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": 4228, - "name": "product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4219, - "src": "5040:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4225, - "name": "productIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3825, - "src": "5024:10:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 4227, - "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": 4229, - "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": 4230, - "nodeType": "ExpressionStatement", - "src": "5024:27:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 4235, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4231, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3822, - "src": "5061:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$3887_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4233, - "indexExpression": { - "argumentTypes": null, - "id": 4232, - "name": "product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4219, - "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_$3887_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4234, - "name": "productAPR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4203, - "src": "5084:10:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$3887_memory_ptr", - "typeString": "struct StakingContract.ProductAPR memory" - } - }, - "src": "5061:33:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$3887_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4236, - "nodeType": "ExpressionStatement", - "src": "5061:33:7" - } - ] - }, - "documentation": null, - "functionSelector": "2c6131cb", - "id": 4238, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 4142, - "modifierName": { - "argumentTypes": null, - "id": 4141, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10566, - "src": "4230:13:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4230:13:7" - }, - { - "arguments": null, - "id": 4144, - "modifierName": { - "argumentTypes": null, - "id": 4143, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7136, - "src": "4244:9:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4244:9:7" - } - ], - "name": "createProduct", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4140, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4129, - "name": "_startDate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4238, - "src": "4079:18:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4128, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4079:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4131, - "name": "_endDate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4238, - "src": "4099:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4130, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4099:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4133, - "name": "_totalMaxAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4238, - "src": "4117:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4132, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4117:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4135, - "name": "_individualMinimumAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4238, - "src": "4142:32:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4134, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4142:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4137, - "name": "_APR", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4238, - "src": "4176:12:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4136, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4176:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4139, - "name": "_lockedUntilFinalization", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4238, - "src": "4190:29:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4138, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4190:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4078:142:7" - }, - "returnParameters": { - "id": 4145, - "nodeType": "ParameterList", - "parameters": [], - "src": "4254:0:7" - }, - "scope": 4655, - "src": "4056:1045:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 4270, - "nodeType": "Block", - "src": "5228:94:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "313030", - "id": 4266, - "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": 4264, - "name": "year", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3839, - "src": "5301:4:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4265, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7455, - "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": 4267, - "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": 4260, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4246, - "src": "5287:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4257, - "name": "_APR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4240, - "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": 4253, - "name": "_startDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4242, - "src": "5260:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4251, - "name": "_endDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4244, - "src": "5247:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4252, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7422, - "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": 4254, - "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": 4255, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5246:26:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4256, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7455, - "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": 4258, - "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": 4259, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7455, - "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": 4261, - "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": 4262, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5245:51:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7476, - "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": 4268, - "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": 4250, - "id": 4269, - "nodeType": "Return", - "src": "5238:77:7" - } - ] - }, - "documentation": null, - "functionSelector": "7e6288f1", - "id": 4271, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getAPRAmount", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4247, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4240, - "name": "_APR", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4271, - "src": "5130:12:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4239, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5130:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4242, - "name": "_startDate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4271, - "src": "5144:18:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4241, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5144:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4244, - "name": "_endDate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4271, - "src": "5164:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4243, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5164:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4246, - "name": "_amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4271, - "src": "5182:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4245, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5182:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5129:69:7" - }, - "returnParameters": { - "id": 4250, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4249, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4271, - "src": "5219:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4248, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5219:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5218:9:7" - }, - "scope": 4655, - "src": "5108:214:7", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4279, - "nodeType": "Block", - "src": "5391:34:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 4277, - "name": "productIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3825, - "src": "5408:10:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "functionReturnParameters": 4276, - "id": 4278, - "nodeType": "Return", - "src": "5401:17:7" - } - ] - }, - "documentation": null, - "functionSelector": "47428e7b", - "id": 4280, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getProductIds", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4272, - "nodeType": "ParameterList", - "parameters": [], - "src": "5350:2:7" - }, - "returnParameters": { - "id": 4276, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4275, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4280, - "src": "5373:16:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 4273, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5373:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4274, - "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": 4655, - "src": "5328:97:7", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4292, - "nodeType": "Block", - "src": "5515:49:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4288, - "name": "mySubscriptions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3830, - "src": "5532:15:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 4290, - "indexExpression": { - "argumentTypes": null, - "id": 4289, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4282, - "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": 4287, - "id": 4291, - "nodeType": "Return", - "src": "5525:32:7" - } - ] - }, - "documentation": null, - "functionSelector": "130d8945", - "id": 4293, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getMySubscriptions", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4283, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4282, - "name": "_address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4293, - "src": "5459:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4281, - "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": 4287, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4286, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4293, - "src": "5497:16:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 4284, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5497:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4285, - "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": 4655, - "src": "5431:133:7", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4502, - "nodeType": "Block", - "src": "5670:2409:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4303, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3822, - "src": "5726:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$3887_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4305, - "indexExpression": { - "argumentTypes": null, - "id": 4304, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4295, - "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_$3887_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4306, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "endDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 3866, - "src": "5726:29:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4307, - "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": 4309, - "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": 4302, - "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": 4310, - "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": 4311, - "nodeType": "ExpressionStatement", - "src": "5718:66:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4313, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3822, - "src": "5845:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$3887_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4315, - "indexExpression": { - "argumentTypes": null, - "id": 4314, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4295, - "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_$3887_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4316, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "subscriptions", - "nodeType": "MemberAccess", - "referencedDeclaration": 3886, - "src": "5845:35:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_SubscriptionAPR_$3860_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.SubscriptionAPR storage ref)" - } - }, - "id": 4318, - "indexExpression": { - "argumentTypes": null, - "id": 4317, - "name": "_subscription_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4297, - "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_$3860_storage", - "typeString": "struct StakingContract.SubscriptionAPR storage ref" - } - }, - "id": 4319, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "endDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 3849, - "src": "5845:61:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4320, - "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": 4322, - "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": 4312, - "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": 4323, - "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": 4324, - "nodeType": "ExpressionStatement", - "src": "5837:101:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4334, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4326, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3822, - "src": "6009:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$3887_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4328, - "indexExpression": { - "argumentTypes": null, - "id": 4327, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4295, - "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_$3887_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4329, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "subscriptions", - "nodeType": "MemberAccess", - "referencedDeclaration": 3886, - "src": "6009:35:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_SubscriptionAPR_$3860_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.SubscriptionAPR storage ref)" - } - }, - "id": 4331, - "indexExpression": { - "argumentTypes": null, - "id": 4330, - "name": "_subscription_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4297, - "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_$3860_storage", - "typeString": "struct StakingContract.SubscriptionAPR storage ref" - } - }, - "id": 4332, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 3857, - "src": "6009:63:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 4333, - "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": 4335, - "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": 4325, - "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": 4336, - "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": 4337, - "nodeType": "ExpressionStatement", - "src": "6001:119:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 4348, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4339, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3822, - "src": "6187:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$3887_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4341, - "indexExpression": { - "argumentTypes": null, - "id": 4340, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4295, - "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_$3887_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4342, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "subscriptions", - "nodeType": "MemberAccess", - "referencedDeclaration": 3886, - "src": "6187:35:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_SubscriptionAPR_$3860_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.SubscriptionAPR storage ref)" - } - }, - "id": 4344, - "indexExpression": { - "argumentTypes": null, - "id": 4343, - "name": "_subscription_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4297, - "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_$3860_storage", - "typeString": "struct StakingContract.SubscriptionAPR storage ref" - } - }, - "id": 4345, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "subscriberAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 3853, - "src": "6187:71:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4346, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6262:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4347, - "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": 4349, - "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": 4338, - "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": 4350, - "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": 4351, - "nodeType": "ExpressionStatement", - "src": "6179:124:7" - }, - { - "assignments": [ - 4353 - ], - "declarations": [ - { - "constant": false, - "id": 4353, - "name": "subscription", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4502, - "src": "6314:35:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$3860_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR" - }, - "typeName": { - "contractScope": null, - "id": 4352, - "name": "SubscriptionAPR", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3860, - "src": "6314:15:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$3860_storage_ptr", - "typeString": "struct StakingContract.SubscriptionAPR" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4360, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4354, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3822, - "src": "6352:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$3887_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4356, - "indexExpression": { - "argumentTypes": null, - "id": 4355, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4295, - "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_$3887_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4357, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "subscriptions", - "nodeType": "MemberAccess", - "referencedDeclaration": 3886, - "src": "6352:35:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_SubscriptionAPR_$3860_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.SubscriptionAPR storage ref)" - } - }, - "id": 4359, - "indexExpression": { - "argumentTypes": null, - "id": 4358, - "name": "_subscription_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4297, - "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_$3860_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": 4366, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4362, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "6476:5:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 4363, - "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": 4364, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4353, - "src": "6494:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$3860_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4365, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "startDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 3847, - "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": 4367, - "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": 4361, - "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": 4368, - "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": 4369, - "nodeType": "ExpressionStatement", - "src": "6468:80:7" - }, - { - "assignments": [ - 4371 - ], - "declarations": [ - { - "constant": false, - "id": 4371, - "name": "finishDate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4502, - "src": "6598:18:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4370, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6598:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4374, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4372, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "6619:5:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 4373, - "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": 4381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4375, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "6700:5:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 4376, - "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": 4377, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3822, - "src": "6719:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$3887_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4379, - "indexExpression": { - "argumentTypes": null, - "id": 4378, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4295, - "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_$3887_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4380, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "endDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 3866, - "src": "6719:29:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6700:48:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 4400, - "nodeType": "Block", - "src": "6820:197:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4391, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3822, - "src": "6909:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$3887_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4393, - "indexExpression": { - "argumentTypes": null, - "id": 4392, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4295, - "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_$3887_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4394, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lockedUntilFinalization", - "nodeType": "MemberAccess", - "referencedDeclaration": 3876, - "src": "6909:45:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 4395, - "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": 4397, - "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": 4390, - "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": 4398, - "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": 4399, - "nodeType": "ExpressionStatement", - "src": "6901:105:7" - } - ] - }, - "id": 4401, - "nodeType": "IfStatement", - "src": "6697:320:7", - "trueBody": { - "id": 4389, - "nodeType": "Block", - "src": "6749:67:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 4387, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4382, - "name": "finishDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4371, - "src": "6763:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4383, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3822, - "src": "6776:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$3887_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4385, - "indexExpression": { - "argumentTypes": null, - "id": 4384, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4295, - "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_$3887_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4386, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "endDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 3866, - "src": "6776:29:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6763:42:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4388, - "nodeType": "ExpressionStatement", - "src": "6763:42:7" - } - ] - } - }, - { - "assignments": [ - 4403 - ], - "declarations": [ - { - "constant": false, - "id": 4403, - "name": "APRedAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4502, - "src": "7027:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4402, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7027:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4413, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4405, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4353, - "src": "7062:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$3860_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4406, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "APR", - "nodeType": "MemberAccess", - "referencedDeclaration": 3855, - "src": "7062:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4407, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4353, - "src": "7080:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$3860_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4408, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "startDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 3847, - "src": "7080:22:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4409, - "name": "finishDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4371, - "src": "7104:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4410, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4353, - "src": "7116:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$3860_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4411, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 3851, - "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": 4404, - "name": "getAPRAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4271, - "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": 4412, - "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": 4417, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4415, - "name": "APRedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4403, - "src": "7154:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4416, - "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": 4418, - "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": 4414, - "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": 4419, - "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": 4420, - "nodeType": "ExpressionStatement", - "src": "7146:62:7" - }, - { - "assignments": [ - 4422 - ], - "declarations": [ - { - "constant": false, - "id": 4422, - "name": "totalAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4502, - "src": "7218:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4421, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7218:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4428, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4426, - "name": "APRedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4403, - "src": "7264:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4423, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4353, - "src": "7240:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$3860_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4424, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 3851, - "src": "7240:19:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4425, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7401, - "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": 4427, - "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": [ - 4430 - ], - "declarations": [ - { - "constant": false, - "id": 4430, - "name": "totalAmountWithFullAPR", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4502, - "src": "7286:30:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4429, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7286:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4447, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4435, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4353, - "src": "7356:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$3860_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4436, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "APR", - "nodeType": "MemberAccess", - "referencedDeclaration": 3855, - "src": "7356:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4437, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4353, - "src": "7374:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$3860_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4438, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "startDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 3847, - "src": "7374:22:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4439, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3822, - "src": "7398:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$3887_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4441, - "indexExpression": { - "argumentTypes": null, - "id": 4440, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4295, - "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_$3887_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4442, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "endDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 3866, - "src": "7398:29:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4443, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4353, - "src": "7429:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$3860_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4444, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 3851, - "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": 4434, - "name": "getAPRAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4271, - "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": 4445, - "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": 4431, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4353, - "src": "7319:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$3860_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4432, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 3851, - "src": "7319:19:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4433, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7401, - "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": 4446, - "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": 4451, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4449, - "name": "totalAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4422, - "src": "7468:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4450, - "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": 4452, - "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": 4448, - "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": 4453, - "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": 4454, - "nodeType": "ExpressionStatement", - "src": "7460:64:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 4463, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4455, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3822, - "src": "7569:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$3887_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4457, - "indexExpression": { - "argumentTypes": null, - "id": 4456, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4295, - "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_$3887_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4458, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "subscriptions", - "nodeType": "MemberAccess", - "referencedDeclaration": 3886, - "src": "7569:35:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_SubscriptionAPR_$3860_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.SubscriptionAPR storage ref)" - } - }, - "id": 4460, - "indexExpression": { - "argumentTypes": null, - "id": 4459, - "name": "_subscription_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4297, - "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_$3860_storage", - "typeString": "struct StakingContract.SubscriptionAPR storage ref" - } - }, - "id": 4461, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 3857, - "src": "7569:63:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 4462, - "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": 4464, - "nodeType": "ExpressionStatement", - "src": "7569:70:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 4473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4465, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3822, - "src": "7649:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$3887_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4467, - "indexExpression": { - "argumentTypes": null, - "id": 4466, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4295, - "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_$3887_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4468, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "subscriptions", - "nodeType": "MemberAccess", - "referencedDeclaration": 3886, - "src": "7649:35:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_SubscriptionAPR_$3860_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.SubscriptionAPR storage ref)" - } - }, - "id": 4470, - "indexExpression": { - "argumentTypes": null, - "id": 4469, - "name": "_subscription_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4297, - "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_$3860_storage", - "typeString": "struct StakingContract.SubscriptionAPR storage ref" - } - }, - "id": 4471, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "endDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 3849, - "src": "7649:61:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4472, - "name": "finishDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4371, - "src": "7713:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7649:74:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4474, - "nodeType": "ExpressionStatement", - "src": "7649:74:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 4483, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4475, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3822, - "src": "7733:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$3887_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4477, - "indexExpression": { - "argumentTypes": null, - "id": 4476, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4295, - "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_$3887_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4478, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "subscriptions", - "nodeType": "MemberAccess", - "referencedDeclaration": 3886, - "src": "7733:35:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_SubscriptionAPR_$3860_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.SubscriptionAPR storage ref)" - } - }, - "id": 4480, - "indexExpression": { - "argumentTypes": null, - "id": 4479, - "name": "_subscription_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4297, - "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_$3860_storage", - "typeString": "struct StakingContract.SubscriptionAPR storage ref" - } - }, - "id": 4481, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "withdrawAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 3859, - "src": "7733:68:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4482, - "name": "totalAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4422, - "src": "7804:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7733:82:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4484, - "nodeType": "ExpressionStatement", - "src": "7733:82:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4488, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4353, - "src": "7904:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$3860_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4489, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "subscriberAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 3853, - "src": "7904:30:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 4490, - "name": "totalAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4422, - "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": 4486, - "name": "erc20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3841, - "src": "7889:5:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8051", - "typeString": "contract ERC20" - } - }, - "id": 4487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 7683, - "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": 4491, - "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": 4492, - "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": 4485, - "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": 4493, - "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": 4494, - "nodeType": "ExpressionStatement", - "src": "7881:91:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 4500, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4495, - "name": "lockedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3836, - "src": "8017:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4498, - "name": "totalAmountWithFullAPR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4430, - "src": "8049:22:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4496, - "name": "lockedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3836, - "src": "8032:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4497, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7422, - "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": 4499, - "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": 4501, - "nodeType": "ExpressionStatement", - "src": "8017:55:7" - } - ] - }, - "documentation": null, - "functionSelector": "0ea52b6c", - "id": 4503, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 4300, - "modifierName": { - "argumentTypes": null, - "id": 4299, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10566, - "src": "5656:13:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "5656:13:7" - } - ], - "name": "withdrawSubscription", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4298, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4295, - "name": "_product_id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4503, - "src": "5600:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4294, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5600:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4297, - "name": "_subscription_id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4503, - "src": "5621:24:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4296, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5621:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5599:47:7" - }, - "returnParameters": { - "id": 4301, - "nodeType": "ParameterList", - "parameters": [], - "src": "5670:0:7" - }, - "scope": 4655, - "src": "5570:2509:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 4557, - "nodeType": "Block", - "src": "8260:352:7", - "statements": [ - { - "assignments": [ - 4529 - ], - "declarations": [ - { - "constant": false, - "id": 4529, - "name": "subscription", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4557, - "src": "8271:35:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$3860_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR" - }, - "typeName": { - "contractScope": null, - "id": 4528, - "name": "SubscriptionAPR", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3860, - "src": "8271:15:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$3860_storage_ptr", - "typeString": "struct StakingContract.SubscriptionAPR" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4536, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4530, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3822, - "src": "8309:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$3887_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4532, - "indexExpression": { - "argumentTypes": null, - "id": 4531, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4507, - "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_$3887_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4533, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "subscriptions", - "nodeType": "MemberAccess", - "referencedDeclaration": 3886, - "src": "8309:35:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_SubscriptionAPR_$3860_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.SubscriptionAPR storage ref)" - } - }, - "id": 4535, - "indexExpression": { - "argumentTypes": null, - "id": 4534, - "name": "_subscription_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4505, - "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_$3860_storage", - "typeString": "struct StakingContract.SubscriptionAPR storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8271:91:7" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4537, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4529, - "src": "8381:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$3860_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4538, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 3843, - "src": "8381:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4539, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4529, - "src": "8399:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$3860_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4540, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "productId", - "nodeType": "MemberAccess", - "referencedDeclaration": 3845, - "src": "8399:22:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4541, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4529, - "src": "8423:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$3860_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4542, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "startDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 3847, - "src": "8423:22:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4543, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4529, - "src": "8447:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$3860_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4544, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "endDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 3849, - "src": "8447:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4545, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4529, - "src": "8482:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$3860_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4546, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 3851, - "src": "8482:19:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4547, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4529, - "src": "8503:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$3860_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4548, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "subscriberAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 3853, - "src": "8503:30:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4549, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4529, - "src": "8535:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$3860_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4550, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "APR", - "nodeType": "MemberAccess", - "referencedDeclaration": 3855, - "src": "8535:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4551, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4529, - "src": "8553:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$3860_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4552, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 3857, - "src": "8553:22:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4553, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4529, - "src": "8577:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$3860_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4554, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "withdrawAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 3859, - "src": "8577:27:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4555, - "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": 4527, - "id": 4556, - "nodeType": "Return", - "src": "8373:232:7" - } - ] - }, - "documentation": null, - "functionSelector": "a461efb9", - "id": 4558, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getSubscription", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4508, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4505, - "name": "_subscription_id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4558, - "src": "8113:24:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4504, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8113:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4507, - "name": "_product_id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4558, - "src": "8139:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4506, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8139:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8112:47:7" - }, - "returnParameters": { - "id": 4527, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4510, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4558, - "src": "8183:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4509, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8183:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4512, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4558, - "src": "8192:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4511, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8192:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4514, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4558, - "src": "8201:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4513, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8201:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4516, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4558, - "src": "8210:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4515, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8210:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4518, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4558, - "src": "8219:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4517, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8219:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4520, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4558, - "src": "8228:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4519, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8228:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4522, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4558, - "src": "8237:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4521, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8237:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4524, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4558, - "src": "8246:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4523, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8246:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4526, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4558, - "src": "8252:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4525, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8252:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8182:78:7" - }, - "scope": 4655, - "src": "8088:524:7", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 4613, - "nodeType": "Block", - "src": "8790:346:7", - "statements": [ - { - "assignments": [ - 4586 - ], - "declarations": [ - { - "constant": false, - "id": 4586, - "name": "product", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4613, - "src": "8801:25:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$3887_memory_ptr", - "typeString": "struct StakingContract.ProductAPR" - }, - "typeName": { - "contractScope": null, - "id": 4585, - "name": "ProductAPR", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3887, - "src": "8801:10:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$3887_storage_ptr", - "typeString": "struct StakingContract.ProductAPR" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4590, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4587, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3822, - "src": "8829:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$3887_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4589, - "indexExpression": { - "argumentTypes": null, - "id": 4588, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4560, - "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_$3887_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8801:49:7" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4591, - "name": "product", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4586, - "src": "8869:7:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$3887_memory_ptr", - "typeString": "struct StakingContract.ProductAPR memory" - } - }, - "id": 4592, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "createdAt", - "nodeType": "MemberAccess", - "referencedDeclaration": 3862, - "src": "8869:17:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4593, - "name": "product", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4586, - "src": "8888:7:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$3887_memory_ptr", - "typeString": "struct StakingContract.ProductAPR memory" - } - }, - "id": 4594, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "startDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 3864, - "src": "8888:17:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4595, - "name": "product", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4586, - "src": "8907:7:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$3887_memory_ptr", - "typeString": "struct StakingContract.ProductAPR memory" - } - }, - "id": 4596, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "endDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 3866, - "src": "8907:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4597, - "name": "product", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4586, - "src": "8924:7:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$3887_memory_ptr", - "typeString": "struct StakingContract.ProductAPR memory" - } - }, - "id": 4598, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalMaxAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 3868, - "src": "8924:22:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4599, - "name": "product", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4586, - "src": "8961:7:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$3887_memory_ptr", - "typeString": "struct StakingContract.ProductAPR memory" - } - }, - "id": 4600, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "individualMinimumAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 3870, - "src": "8961:31:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4601, - "name": "product", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4586, - "src": "8994:7:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$3887_memory_ptr", - "typeString": "struct StakingContract.ProductAPR memory" - } - }, - "id": 4602, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "APR", - "nodeType": "MemberAccess", - "referencedDeclaration": 3872, - "src": "8994:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4603, - "name": "product", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4586, - "src": "9007:7:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$3887_memory_ptr", - "typeString": "struct StakingContract.ProductAPR memory" - } - }, - "id": 4604, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "currentAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 3874, - "src": "9007:21:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4605, - "name": "product", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4586, - "src": "9030:7:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$3887_memory_ptr", - "typeString": "struct StakingContract.ProductAPR memory" - } - }, - "id": 4606, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lockedUntilFinalization", - "nodeType": "MemberAccess", - "referencedDeclaration": 3876, - "src": "9030:31:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4607, - "name": "product", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4586, - "src": "9075:7:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$3887_memory_ptr", - "typeString": "struct StakingContract.ProductAPR memory" - } - }, - "id": 4608, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "subscribers", - "nodeType": "MemberAccess", - "referencedDeclaration": 3879, - "src": "9075:19:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4609, - "name": "product", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4586, - "src": "9096:7:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$3887_memory_ptr", - "typeString": "struct StakingContract.ProductAPR memory" - } - }, - "id": 4610, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "subscriptionIds", - "nodeType": "MemberAccess", - "referencedDeclaration": 3882, - "src": "9096:23:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - } - ], - "id": 4611, - "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": 4584, - "id": 4612, - "nodeType": "Return", - "src": "8861:268:7" - } - ] - }, - "documentation": null, - "functionSelector": "b9db15b4", - "id": 4614, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getProduct", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4561, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4560, - "name": "_product_id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4614, - "src": "8642:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4559, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8642:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8641:21:7" - }, - "returnParameters": { - "id": 4584, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4563, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4614, - "src": "8686:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4562, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8686:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4565, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4614, - "src": "8695:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4564, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8695:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4567, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4614, - "src": "8704:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4566, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8704:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4569, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4614, - "src": "8713:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4568, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8713:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4571, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4614, - "src": "8722:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4570, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8722:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4573, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4614, - "src": "8731:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4572, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8731:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4575, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4614, - "src": "8740:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4574, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8740:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4577, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4614, - "src": "8749:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4576, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8749:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4580, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4614, - "src": "8755:16:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 4578, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8755:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4579, - "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": 4583, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4614, - "src": "8773:16:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 4581, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8773:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4582, - "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": 4655, - "src": "8622:514:7", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 4637, - "nodeType": "Block", - "src": "9223:143:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4626, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4616, - "src": "9317:8:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4631, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "9351:4:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_StakingContract_$4655", - "typeString": "contract StakingContract" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_StakingContract_$4655", - "typeString": "contract StakingContract" - } - ], - "id": 4630, - "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": 4629, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9343:7:7", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 4632, - "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": 4627, - "name": "erc20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3841, - "src": "9327:5:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8051", - "typeString": "contract ERC20" - } - }, - "id": 4628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 7663, - "src": "9327:15:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 4633, - "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": 4624, - "name": "erc20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3841, - "src": "9302:5:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8051", - "typeString": "contract ERC20" - } - }, - "id": 4625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 7683, - "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": 4634, - "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": 4623, - "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": 4635, - "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": 4636, - "nodeType": "ExpressionStatement", - "src": "9294:65:7" - } - ] - }, - "documentation": null, - "functionSelector": "b90c72ae", - "id": 4638, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 4619, - "modifierName": { - "argumentTypes": null, - "id": 4618, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7136, - "src": "9201:9:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "9201:9:7" - }, - { - "arguments": null, - "id": 4621, - "modifierName": { - "argumentTypes": null, - "id": 4620, - "name": "whenPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10576, - "src": "9211:10:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "9211:10:7" - } - ], - "name": "safeGuardAllTokens", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4617, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4616, - "name": "_address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4638, - "src": "9174:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4615, - "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": 4622, - "nodeType": "ParameterList", - "parameters": [], - "src": "9223:0:7" - }, - "scope": 4655, - "src": "9146:220:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 4653, - "nodeType": "Block", - "src": "9454:115:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 4651, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4647, - "name": "erc20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3841, - "src": "9534:5:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8051", - "typeString": "contract ERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4649, - "name": "_tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4640, - "src": "9548:13:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4648, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8051, - "src": "9542:5:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$8051_$", - "typeString": "type(contract ERC20)" - } - }, - "id": 4650, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9542:20:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8051", - "typeString": "contract ERC20" - } - }, - "src": "9534:28:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8051", - "typeString": "contract ERC20" - } - }, - "id": 4652, - "nodeType": "ExpressionStatement", - "src": "9534:28:7" - } - ] - }, - "documentation": null, - "functionSelector": "c9cda91f", - "id": 4654, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 4643, - "modifierName": { - "argumentTypes": null, - "id": 4642, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7136, - "src": "9432:9:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "9432:9:7" - }, - { - "arguments": null, - "id": 4645, - "modifierName": { - "argumentTypes": null, - "id": 4644, - "name": "whenPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10576, - "src": "9442:10:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "9442:10:7" - } - ], - "name": "changeTokenAddress", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4641, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4640, - "name": "_tokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4654, - "src": "9400:21:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4639, - "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": 4646, - "nodeType": "ParameterList", - "parameters": [], - "src": "9454:0:7" - }, - "scope": 4655, - "src": "9372:197:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 4656, - "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-05-14T16:53:10.300Z", - "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 e79981a5..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:25:-: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:25:-: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": [ - 10710 - ] - }, - "id": 10711, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 10627, - "literals": [ - "solidity", - ">=", - "0.6", - ".0", - "<", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:31:25" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": "@dev String operations.", - "fullyImplemented": true, - "id": 10710, - "linearizedBaseContracts": [ - 10710 - ], - "name": "Strings", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 10708, - "nodeType": "Block", - "src": "281:654:25", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10634, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10629, - "src": "483:5:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 10635, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "492:1:25", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "483:10:25", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 10640, - "nodeType": "IfStatement", - "src": "479:51:25", - "trueBody": { - "id": 10639, - "nodeType": "Block", - "src": "495:35:25", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 10637, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "516:3:25", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d", - "typeString": "literal_string \"0\"" - }, - "value": "0" - }, - "functionReturnParameters": 10633, - "id": 10638, - "nodeType": "Return", - "src": "509:10:25" - } - ] - } - }, - { - "assignments": [ - 10642 - ], - "declarations": [ - { - "constant": false, - "id": 10642, - "name": "temp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10708, - "src": "539:12:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10641, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "539:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10644, - "initialValue": { - "argumentTypes": null, - "id": 10643, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10629, - "src": "554:5:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "539:20:25" - }, - { - "assignments": [ - 10646 - ], - "declarations": [ - { - "constant": false, - "id": 10646, - "name": "digits", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10708, - "src": "569:14:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10645, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "569:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10647, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "569:14:25" - }, - { - "body": { - "id": 10658, - "nodeType": "Block", - "src": "611:57:25", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10652, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "625:8:25", - "subExpression": { - "argumentTypes": null, - "id": 10651, - "name": "digits", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10646, - "src": "625:6:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10653, - "nodeType": "ExpressionStatement", - "src": "625:8:25" - }, - { - "expression": { - "argumentTypes": null, - "id": 10656, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10654, - "name": "temp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10642, - "src": "647:4:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "/=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "3130", - "id": 10655, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "655:2:25", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "src": "647:10:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10657, - "nodeType": "ExpressionStatement", - "src": "647:10:25" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10650, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10648, - "name": "temp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10642, - "src": "600:4:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 10649, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "608:1:25", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "600:9:25", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 10659, - "nodeType": "WhileStatement", - "src": "593:75:25" - }, - { - "assignments": [ - 10661 - ], - "declarations": [ - { - "constant": false, - "id": 10661, - "name": "buffer", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10708, - "src": "677:19:25", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 10660, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "677:5:25", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10666, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10664, - "name": "digits", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10646, - "src": "709:6:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10663, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "699:9:25", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$", - "typeString": "function (uint256) pure returns (bytes memory)" - }, - "typeName": { - "id": 10662, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "703:5:25", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - } - }, - "id": 10665, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "699:17:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "677:39:25" - }, - { - "assignments": [ - 10668 - ], - "declarations": [ - { - "constant": false, - "id": 10668, - "name": "index", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10708, - "src": "726:13:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10667, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "726:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10672, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10669, - "name": "digits", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10646, - "src": "742:6:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 10670, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "751:1:25", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "742:10:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "726:26:25" - }, - { - "expression": { - "argumentTypes": null, - "id": 10675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10673, - "name": "temp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10642, - "src": "762:4:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 10674, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10629, - "src": "769:5:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "762:12:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10676, - "nodeType": "ExpressionStatement", - "src": "762:12:25" - }, - { - "body": { - "id": 10701, - "nodeType": "Block", - "src": "802:96:25", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10695, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 10680, - "name": "buffer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10661, - "src": "816:6:25", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 10683, - "indexExpression": { - "argumentTypes": null, - "id": 10682, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "--", - "prefix": false, - "src": "823:7:25", - "subExpression": { - "argumentTypes": null, - "id": 10681, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10668, - "src": "823:5:25", - "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:25", - "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": 10692, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3438", - "id": 10688, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "847:2:25", - "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": 10691, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10689, - "name": "temp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10642, - "src": "852:4:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 10690, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "859:2:25", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "src": "852:9:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "847:14:25", - "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": "841:5:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint8_$", - "typeString": "type(uint8)" - }, - "typeName": { - "id": 10686, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "841:5:25", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10693, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "841:21:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 10685, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "834:6:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes1_$", - "typeString": "type(bytes1)" - }, - "typeName": { - "id": 10684, - "name": "bytes1", - "nodeType": "ElementaryTypeName", - "src": "834:6:25", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10694, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "834:29:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "src": "816:47:25", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "id": 10696, - "nodeType": "ExpressionStatement", - "src": "816:47:25" - }, - { - "expression": { - "argumentTypes": null, - "id": 10699, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10697, - "name": "temp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10642, - "src": "877:4:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "/=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "3130", - "id": 10698, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "885:2:25", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "src": "877:10:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10700, - "nodeType": "ExpressionStatement", - "src": "877:10:25" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10679, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10677, - "name": "temp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10642, - "src": "791:4:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 10678, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "799:1:25", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "791:9:25", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 10702, - "nodeType": "WhileStatement", - "src": "784:114:25" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10705, - "name": "buffer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10661, - "src": "921:6:25", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 10704, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "914:6:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": { - "id": 10703, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "914:6:25", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10706, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "914:14:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 10633, - "id": 10707, - "nodeType": "Return", - "src": "907:21:25" - } - ] - }, - "documentation": "@dev Converts a `uint256` to its ASCII `string` representation.", - "id": 10709, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toString", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10630, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10629, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10709, - "src": "228:13:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10628, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "228:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "227:15:25" - }, - "returnParameters": { - "id": 10633, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10632, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10709, - "src": "266:13:25", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 10631, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "266:6:25", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "265:15:25" - }, - "scope": 10710, - "src": "210:725:25", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 10711, - "src": "101:836:25" - } - ], - "src": "33:905:25" - }, - "legacyAST": { - "absolutePath": "@openzeppelin/contracts/utils/Strings.sol", - "exportedSymbols": { - "Strings": [ - 10710 - ] - }, - "id": 10711, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 10627, - "literals": [ - "solidity", - ">=", - "0.6", - ".0", - "<", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:31:25" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": "@dev String operations.", - "fullyImplemented": true, - "id": 10710, - "linearizedBaseContracts": [ - 10710 - ], - "name": "Strings", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 10708, - "nodeType": "Block", - "src": "281:654:25", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10634, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10629, - "src": "483:5:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 10635, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "492:1:25", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "483:10:25", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 10640, - "nodeType": "IfStatement", - "src": "479:51:25", - "trueBody": { - "id": 10639, - "nodeType": "Block", - "src": "495:35:25", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 10637, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "516:3:25", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d", - "typeString": "literal_string \"0\"" - }, - "value": "0" - }, - "functionReturnParameters": 10633, - "id": 10638, - "nodeType": "Return", - "src": "509:10:25" - } - ] - } - }, - { - "assignments": [ - 10642 - ], - "declarations": [ - { - "constant": false, - "id": 10642, - "name": "temp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10708, - "src": "539:12:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10641, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "539:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10644, - "initialValue": { - "argumentTypes": null, - "id": 10643, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10629, - "src": "554:5:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "539:20:25" - }, - { - "assignments": [ - 10646 - ], - "declarations": [ - { - "constant": false, - "id": 10646, - "name": "digits", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10708, - "src": "569:14:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10645, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "569:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10647, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "569:14:25" - }, - { - "body": { - "id": 10658, - "nodeType": "Block", - "src": "611:57:25", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10652, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "625:8:25", - "subExpression": { - "argumentTypes": null, - "id": 10651, - "name": "digits", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10646, - "src": "625:6:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10653, - "nodeType": "ExpressionStatement", - "src": "625:8:25" - }, - { - "expression": { - "argumentTypes": null, - "id": 10656, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10654, - "name": "temp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10642, - "src": "647:4:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "/=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "3130", - "id": 10655, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "655:2:25", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "src": "647:10:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10657, - "nodeType": "ExpressionStatement", - "src": "647:10:25" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10650, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10648, - "name": "temp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10642, - "src": "600:4:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 10649, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "608:1:25", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "600:9:25", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 10659, - "nodeType": "WhileStatement", - "src": "593:75:25" - }, - { - "assignments": [ - 10661 - ], - "declarations": [ - { - "constant": false, - "id": 10661, - "name": "buffer", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10708, - "src": "677:19:25", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 10660, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "677:5:25", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10666, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10664, - "name": "digits", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10646, - "src": "709:6:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10663, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "699:9:25", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$", - "typeString": "function (uint256) pure returns (bytes memory)" - }, - "typeName": { - "id": 10662, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "703:5:25", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - } - }, - "id": 10665, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "699:17:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "677:39:25" - }, - { - "assignments": [ - 10668 - ], - "declarations": [ - { - "constant": false, - "id": 10668, - "name": "index", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10708, - "src": "726:13:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10667, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "726:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10672, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10669, - "name": "digits", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10646, - "src": "742:6:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 10670, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "751:1:25", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "742:10:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "726:26:25" - }, - { - "expression": { - "argumentTypes": null, - "id": 10675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10673, - "name": "temp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10642, - "src": "762:4:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 10674, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10629, - "src": "769:5:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "762:12:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10676, - "nodeType": "ExpressionStatement", - "src": "762:12:25" - }, - { - "body": { - "id": 10701, - "nodeType": "Block", - "src": "802:96:25", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10695, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 10680, - "name": "buffer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10661, - "src": "816:6:25", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 10683, - "indexExpression": { - "argumentTypes": null, - "id": 10682, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "--", - "prefix": false, - "src": "823:7:25", - "subExpression": { - "argumentTypes": null, - "id": 10681, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10668, - "src": "823:5:25", - "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:25", - "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": 10692, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3438", - "id": 10688, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "847:2:25", - "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": 10691, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10689, - "name": "temp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10642, - "src": "852:4:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 10690, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "859:2:25", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "src": "852:9:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "847:14:25", - "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": "841:5:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint8_$", - "typeString": "type(uint8)" - }, - "typeName": { - "id": 10686, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "841:5:25", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10693, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "841:21:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 10685, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "834:6:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes1_$", - "typeString": "type(bytes1)" - }, - "typeName": { - "id": 10684, - "name": "bytes1", - "nodeType": "ElementaryTypeName", - "src": "834:6:25", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10694, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "834:29:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "src": "816:47:25", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "id": 10696, - "nodeType": "ExpressionStatement", - "src": "816:47:25" - }, - { - "expression": { - "argumentTypes": null, - "id": 10699, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10697, - "name": "temp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10642, - "src": "877:4:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "/=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "3130", - "id": 10698, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "885:2:25", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "src": "877:10:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10700, - "nodeType": "ExpressionStatement", - "src": "877:10:25" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10679, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10677, - "name": "temp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10642, - "src": "791:4:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 10678, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "799:1:25", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "791:9:25", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 10702, - "nodeType": "WhileStatement", - "src": "784:114:25" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10705, - "name": "buffer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10661, - "src": "921:6:25", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 10704, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "914:6:25", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": { - "id": 10703, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "914:6:25", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10706, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "914:14:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 10633, - "id": 10707, - "nodeType": "Return", - "src": "907:21:25" - } - ] - }, - "documentation": "@dev Converts a `uint256` to its ASCII `string` representation.", - "id": 10709, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toString", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10630, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10629, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10709, - "src": "228:13:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10628, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "228:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "227:15:25" - }, - "returnParameters": { - "id": 10633, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10632, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10709, - "src": "266:13:25", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 10631, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "266:6:25", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "265:15:25" - }, - "scope": 10710, - "src": "210:725:25", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 10711, - "src": "101:836:25" - } - ], - "src": "33:905:25" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.20", - "updatedAt": "2021-05-11T16:04:02.539Z", - "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 d1a62f43..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:13;;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:13;;:5;;:13;;;;:::i;:::-;-1:-1:-1;2055:17:13;;;;:7;;:17;;;;;:::i;:::-;-1:-1:-1;;2082:9:13;:14;;2094:2;-1:-1:-1;;2082:14:13;;;;-1:-1:-1;;;;;;508:18:9;2082:14:13;516:10:9;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:13;-1:-1:-1;;;;;7915:21:13;;7907:65;;;;;-1:-1:-1;;;7907:65:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;7983:49;8012:1;8016:7;8025:6;-1:-1:-1;;;;;7983:20:13;:49;:::i;:::-;8058:24;8075:6;8058:12;;:16;;;;;;:24;;;;:::i;:::-;8043:12;:39;-1:-1:-1;;;;;8113:18:13;;:9;:18;;;;;;;;;;;;:30;;8136:6;;8113:22;;;;;:30;;:::i;:::-;-1:-1:-1;;;;;8092:18:13;;:9;:18;;;;;;;;;;;:51;;;;8158:37;;;;;;;8092:18;;:9;;8158:37;;;;;;;;;;7832:370;;:::o;10701:92::-;;;;:::o;2690:175:12:-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;;-1:-1:-1;;;2794:46:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;2857:1;2690:175;-1:-1:-1;;;2690:175:12: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:13;;;:::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:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4244:166;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;4244:166:13;;;;;;;;:::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:13;;;;;;;;;;;;;;;;;:::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:13;;;;;;;;:::i;300:35:0:-;;;:::i;:::-;;;;-1:-1:-1;;;;;300:35:0;;;;;;;;;;;;;;3399:125:13;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3399:125:13;-1:-1:-1;;;;;3399:125:13;;:::i;239:20:9:-;;;:::i;2370:93:13:-;;;:::i;6291:266::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;6291:266:13;;;;;;;;:::i;3727:172::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3727:172:13;;;;;;;;:::i;3957:149::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3957:149:13;;;;;;;;;;:::i;864:188:9:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;864:188:9;-1:-1:-1;;;;;864:188:9;;:::i;:::-;;2168:89:13;2245:5;2238:12;;;;;;;;-1:-1:-1;;2238:12:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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:13;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:13;;;;;;:11;:19;;;;;;5096:12;:10;:12::i;:::-;-1:-1:-1;;;;;5076:33:13;;;;;;;;;;;;-1:-1:-1;5076:33:13;;;:89;;:37;:89;:::i;:::-;5045:8;:121::i;:::-;-1:-1:-1;5183:4:13;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:13;;;;;;;;;;;;;;;;;-1:-1:-1;5725:25:13;;;:34;;;;;;;;;;;:50;:38;:50;:::i;300:35:0:-;;;-1:-1:-1;;;;;300:35:0;;:::o;3399:125:13:-;-1:-1:-1;;;;;3499:18:13;3473:7;3499:18;;;;;;;;;;;;3399:125::o;239:20:9:-;;;;;;-1:-1:-1;;;;;239:20:9;;:::o;2370:93:13:-;2449:7;2442:14;;;;;;;;-1:-1:-1;;2442:14:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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:13;;;;;;;;;;;;;;;;;-1:-1:-1;6432:25:13;;;: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:13;;;4046:7;4072:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3957:149::o;864:188:9:-;672:5;;;;;-1:-1:-1;;;;;672:5:9;658:10;:19;650:28;;;;;;-1:-1:-1;;;;;944:22:9;::::1;936:31;;;::::0;::::1;;1003:5;::::0;982:37:::1;::::0;-1:-1:-1;;;;;982:37:9;;::::1;::::0;1003:5:::1;::::0;::::1;;::::0;982:37:::1;::::0;;;::::1;1029:5;:16:::0;;-1:-1:-1;;;;;1029:16:9;;::::1;;;-1:-1:-1::0;;;;;;1029:16:9;;::::1;::::0;;;::::1;::::0;;864:188::o;598:104:21:-;685:10;598:104;:::o;9355:340:13:-;-1:-1:-1;;;;;9456:19:13;;9448:68;;;;-1:-1:-1;;;9448:68:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9534:21:13;;9526:68;;;;-1:-1:-1;;;9526:68:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9605:18:13;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9656:32;;;;;;;;;;;;;;;;;9355:340;;;:::o;7031:530::-;-1:-1:-1;;;;;7136:20:13;;7128:70;;;;-1:-1:-1;;;7128:70:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7216:23:13;;7208:71;;;;-1:-1:-1;;;7208:71:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7290:47;7311:6;7319:9;7330:6;7290:20;:47::i;:::-;7368:71;7390:6;7368:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7368:17:13;;:9;:17;;;;;;;;;;;;:71;;:21;:71;:::i;:::-;-1:-1:-1;;;;;7348:17:13;;;:9;:17;;;;;;;;;;;:91;;;;7472:20;;;;;;;:32;;7497:6;7472:32;:24;:32;:::i;:::-;-1:-1:-1;;;;;7449:20:13;;;:9;:20;;;;;;;;;;;;:55;;;;7519:35;;;;;;;7449:20;;7519:35;;;;;;;;;;;;;7031:530;;;:::o;5432:163:12:-;5518:7;5553:12;5545:6;;;;5537:29;;;;-1:-1:-1;;;5537:29:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5583:5:12;;;5432:163::o;2690:175::-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;;-1:-1:-1;;;2794:46:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;2857:1;2690:175;-1:-1:-1;;;2690:175:12:o;10701:92:13:-;;;;:::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": 8070, - "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": 7182, - "src": "82:29:0", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 4, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8069, - "src": "279:5:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "typeString": "contract ERC20" - } - }, - "id": 5, - "nodeType": "InheritanceSpecifier", - "src": "279:5:0" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 6, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7181, - "src": "286:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$7181", - "typeString": "contract Ownable" - } - }, - "id": 7, - "nodeType": "InheritanceSpecifier", - "src": "286:7:0" - } - ], - "contractDependencies": [ - 7181, - 8069, - 8138, - 9528 - ], - "contractKind": "contract", - "documentation": "@title Capped token\n@dev Mintable token with a token cap.", - "fullyImplemented": true, - "id": 31, - "linearizedBaseContracts": [ - 31, - 7181, - 8069, - 8138, - 9528 - ], - "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": 7949, - "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": 8069, - "src": "483:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$8069_$", - "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, - 7181, - 8069, - 8138, - 9528 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 52, - "linearizedBaseContracts": [ - 52, - 31, - 7181, - 8069, - 8138, - 9528 - ], - "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": 8070, - "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": 7182, - "src": "82:29:0", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 4, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8069, - "src": "279:5:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$8069", - "typeString": "contract ERC20" - } - }, - "id": 5, - "nodeType": "InheritanceSpecifier", - "src": "279:5:0" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 6, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7181, - "src": "286:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$7181", - "typeString": "contract Ownable" - } - }, - "id": 7, - "nodeType": "InheritanceSpecifier", - "src": "286:7:0" - } - ], - "contractDependencies": [ - 7181, - 8069, - 8138, - 9528 - ], - "contractKind": "contract", - "documentation": "@title Capped token\n@dev Mintable token with a token cap.", - "fullyImplemented": true, - "id": 31, - "linearizedBaseContracts": [ - 31, - 7181, - 8069, - 8138, - 9528 - ], - "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": 7949, - "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": 8069, - "src": "483:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$8069_$", - "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, - 7181, - 8069, - 8138, - 9528 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 52, - "linearizedBaseContracts": [ - 52, - 31, - 7181, - 8069, - 8138, - 9528 - ], - "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-05-11T16:04:02.404Z", - "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/_IERC20.json b/build/contracts/_IERC20.json deleted file mode 100644 index ddfd44cd..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": [ - 6434 - ], - "_IERC20": [ - 4677 - ] - }, - "id": 6435, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4657, - "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": 4658, - "nodeType": "ImportDirective", - "scope": 6435, - "sourceUnit": 8210, - "src": "26:55:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Pausable.sol", - "file": "@openzeppelin/contracts/utils/Pausable.sol", - "id": 4659, - "nodeType": "ImportDirective", - "scope": 6435, - "sourceUnit": 10766, - "src": "82:52:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Ownable.sol", - "file": "../utils/Ownable.sol", - "id": 4660, - "nodeType": "ImportDirective", - "scope": 6435, - "sourceUnit": 7322, - "src": "135:30:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 4661, - "name": "IERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8278, - "src": "251:6:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$8278", - "typeString": "contract IERC20" - } - }, - "id": 4662, - "nodeType": "InheritanceSpecifier", - "src": "251:6:8" - } - ], - "contractDependencies": [ - 8278 - ], - "contractKind": "interface", - "documentation": "@dev Interface of the ERC20 standard + mint & burn", - "fullyImplemented": false, - "id": 4677, - "linearizedBaseContracts": [ - 4677, - 8278 - ], - "name": "_IERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": "@dev Mint Function", - "functionSelector": "40c10f19", - "id": 4669, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4667, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4664, - "name": "account", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4669, - "src": "320:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4663, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "320:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4666, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4669, - "src": "337:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4665, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "337:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "319:33:8" - }, - "returnParameters": { - "id": 4668, - "nodeType": "ParameterList", - "parameters": [], - "src": "361:0:8" - }, - "scope": 4677, - "src": "306:56:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Burn Function", - "functionSelector": "9dc29fac", - "id": 4676, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4674, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4671, - "name": "account", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4676, - "src": "422:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4670, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "422:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4673, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4676, - "src": "439:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4672, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "439:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "421:33:8" - }, - "returnParameters": { - "id": 4675, - "nodeType": "ParameterList", - "parameters": [], - "src": "463:0:8" - }, - "scope": 4677, - "src": "408:56:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6435, - "src": "230:237:8" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 4678, - "name": "Pausable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10765, - "src": "536:8:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Pausable_$10765", - "typeString": "contract Pausable" - } - }, - "id": 4679, - "nodeType": "InheritanceSpecifier", - "src": "536:8:8" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 4680, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7321, - "src": "546:7:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$7321", - "typeString": "contract Ownable" - } - }, - "id": 4681, - "nodeType": "InheritanceSpecifier", - "src": "546:7:8" - } - ], - "contractDependencies": [ - 7321, - 9668, - 10765 - ], - "contractKind": "contract", - "documentation": "@title BEPRO Network Contract", - "fullyImplemented": true, - "id": 6434, - "linearizedBaseContracts": [ - 6434, - 7321, - 10765, - 9668 - ], - "name": "BEPRONetwork", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 4684, - "libraryName": { - "contractScope": null, - "id": 4682, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7725, - "src": "565:8:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$7725", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "559:27:8", - "typeName": { - "id": 4683, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "578:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "functionSelector": "e113e452", - "id": 4686, - "name": "beproToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "592:25:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - }, - "typeName": { - "contractScope": null, - "id": 4685, - "name": "_IERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4677, - "src": "592:7:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": true, - "id": 4689, - "name": "year", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "624:40:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4687, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "624:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "333635", - "id": 4688, - "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": 4692, - "name": "incrementIssueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "670:35:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4690, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "670:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31", - "id": 4691, - "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": 4695, - "name": "closedIdsCount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "711:33:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4693, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "711:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 4694, - "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": 4698, - "name": "totalStaked", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "750:30:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4696, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "750:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 4697, - "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": 4701, - "name": "feeAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "786:70:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4699, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "786:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307843463343384265326532433432333331446138304546323130653942316233303743303364333641", - "id": 4700, - "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": 4704, - "name": "feeShare", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "862:27:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4702, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "862:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "32", - "id": 4703, - "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": 4707, - "name": "mergeCreatorFeeShare", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "939:39:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4705, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "939:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31", - "id": 4706, - "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": 4710, - "name": "percentageNeededForApprove", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "1035:46:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4708, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1035:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3130", - "id": 4709, - "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": 4713, - "name": "percentageNeededForDispute", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "1153:45:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4711, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1153:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "33", - "id": 4712, - "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": 4716, - "name": "timeOpenForIssueApprove", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "1270:56:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4714, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1270:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "33", - "id": 4715, - "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": 4719, - "name": "percentageNeededForMerge", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "1332:44:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4717, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1332:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3230", - "id": 4718, - "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": 4722, - "name": "beproVotesStaked", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "1448:35:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4720, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1448:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 4721, - "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": 4725, - "name": "COUNCIL_BEPRO_AMOUNT", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "1490:46:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4723, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1490:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3130303030303030", - "id": 4724, - "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": 4728, - "name": "OPERATOR_BEPRO_AMOUNT", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "1549:46:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4726, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1549:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31303030303030", - "id": 4727, - "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": 4731, - "name": "DEVELOPER_BEPRO_AMOUNT", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "1607:45:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4729, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1607:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3130303030", - "id": 4730, - "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": 4735, - "name": "issues", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "1666:39:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue)" - }, - "typeName": { - "id": 4734, - "keyType": { - "id": 4732, - "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_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue)" - }, - "valueType": { - "contractScope": null, - "id": 4733, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4795, - "src": "1685:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_storage_ptr", - "typeString": "struct BEPRONetwork.Issue" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "1ac63d92", - "id": 4740, - "name": "myIssues", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "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": 4739, - "keyType": { - "id": 4736, - "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": 4737, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1756:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4738, - "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": 4744, - "name": "voters", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "1821:39:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter)" - }, - "typeName": { - "id": 4743, - "keyType": { - "id": 4741, - "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_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter)" - }, - "valueType": { - "contractScope": null, - "id": 4742, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4807, - "src": "1840:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "53da4247", - "id": 4747, - "name": "votersArray", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "1867:28:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 4745, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1867:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4746, - "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": 4770, - "members": [ - { - "constant": false, - "id": 4749, - "name": "_id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4770, - "src": "1935:11:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4748, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1935:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4753, - "name": "votesForMergeByAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4770, - "src": "1956:50:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 4752, - "keyType": { - "id": 4750, - "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": 4751, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1975:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4757, - "name": "disputesForMergeByAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4770, - "src": "2051:53:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 4756, - "keyType": { - "id": 4754, - "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": 4755, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2070:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4759, - "name": "votes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4770, - "src": "2149:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4758, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2149:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4761, - "name": "disputes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4770, - "src": "2195:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4760, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2195:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4764, - "name": "prAddresses", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4770, - "src": "2244:21:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 4762, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2244:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4763, - "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": 4767, - "name": "prAmounts", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4770, - "src": "2275:19:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 4765, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2275:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4766, - "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": 4769, - "name": "proposalAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4770, - "src": "2304:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4768, - "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": 6434, - "src": "1904:430:8", - "visibility": "public" - }, - { - "canonicalName": "BEPRONetwork.Issue", - "id": 4795, - "members": [ - { - "constant": false, - "id": 4772, - "name": "_id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4795, - "src": "2363:11:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4771, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2363:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4774, - "name": "creationDate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4795, - "src": "2384:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4773, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2384:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4776, - "name": "beproStaked", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4795, - "src": "2414:19:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4775, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2414:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4778, - "name": "issueGenerator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4795, - "src": "2443:22:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4777, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2443:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4782, - "name": "votesForApproveByAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4795, - "src": "2475:52:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 4781, - "keyType": { - "id": 4779, - "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": 4780, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2494:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4784, - "name": "votesForApprove", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4795, - "src": "2537:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4783, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2537:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4788, - "name": "mergeProposals", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4795, - "src": "2570:48:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$4770_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal)" - }, - "typeName": { - "id": 4787, - "keyType": { - "id": 4785, - "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_$4770_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal)" - }, - "valueType": { - "contractScope": null, - "id": 4786, - "name": "MergeProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4770, - "src": "2589:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4790, - "name": "mergeIDIncrement", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4795, - "src": "2652:24:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4789, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2652:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4792, - "name": "finalized", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4795, - "src": "2686:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4791, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2686:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4794, - "name": "canceled", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4795, - "src": "2710:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4793, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2710:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Issue", - "nodeType": "StructDefinition", - "scope": 6434, - "src": "2340:390:8", - "visibility": "public" - }, - { - "canonicalName": "BEPRONetwork.Voter", - "id": 4807, - "members": [ - { - "constant": false, - "id": 4797, - "name": "votesDelegatedByOthers", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4807, - "src": "2759:30:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4796, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2759:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4801, - "name": "votesDelegated", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4807, - "src": "2799:42:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 4800, - "keyType": { - "id": 4798, - "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": 4799, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2818:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4804, - "name": "delegatedVotesAddresses", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4807, - "src": "2851:33:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 4802, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2851:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4803, - "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": 4806, - "name": "beproLocked", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4807, - "src": "2894:19:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4805, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2894:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Voter", - "nodeType": "StructDefinition", - "scope": 6434, - "src": "2736:184:8", - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 4815, - "name": "OpenIssue", - "nodeType": "EventDefinition", - "parameters": { - "id": 4814, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4809, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4815, - "src": "2942:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4808, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2942:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4811, - "indexed": true, - "name": "opener", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4815, - "src": "2962:22:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4810, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2962:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4813, - "indexed": true, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4815, - "src": "2986:22:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4812, - "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": 4823, - "name": "ApproveIssue", - "nodeType": "EventDefinition", - "parameters": { - "id": 4822, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4817, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4823, - "src": "3034:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4816, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3034:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4819, - "indexed": true, - "name": "votes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4823, - "src": "3054:21:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4818, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3054:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4821, - "indexed": true, - "name": "approver", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4823, - "src": "3077:24:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4820, - "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": 4831, - "name": "MergeProposalCreated", - "nodeType": "EventDefinition", - "parameters": { - "id": 4830, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4825, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4831, - "src": "3135:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4824, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3135:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4827, - "indexed": true, - "name": "mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4831, - "src": "3155:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4826, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3155:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4829, - "indexed": true, - "name": "creator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4831, - "src": "3180:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4828, - "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": 4841, - "name": "DisputeMerge", - "nodeType": "EventDefinition", - "parameters": { - "id": 4840, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4833, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4841, - "src": "3229:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4832, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3229:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4835, - "indexed": true, - "name": "mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4841, - "src": "3249:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4834, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3249:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4837, - "indexed": false, - "name": "votes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4841, - "src": "3274:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4836, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3274:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4839, - "indexed": true, - "name": "disputer", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4841, - "src": "3289:24:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4838, - "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": 4851, - "name": "ApproveMerge", - "nodeType": "EventDefinition", - "parameters": { - "id": 4850, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4843, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4851, - "src": "3339:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4842, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3339:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4845, - "indexed": true, - "name": "mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4851, - "src": "3359:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4844, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3359:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4847, - "indexed": false, - "name": "votes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4851, - "src": "3384:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4846, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3384:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4849, - "indexed": true, - "name": "approver", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4851, - "src": "3399:24:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4848, - "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": 4860, - "name": "CloseIssue", - "nodeType": "EventDefinition", - "parameters": { - "id": 4859, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4853, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4860, - "src": "3447:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4852, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3447:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4855, - "indexed": true, - "name": "mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4860, - "src": "3467:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4854, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3467:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4858, - "indexed": true, - "name": "addresses", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4860, - "src": "3492:27:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 4856, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3492:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4857, - "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": 4871, - "nodeType": "Block", - "src": "3569:53:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 4869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4865, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4686, - "src": "3580:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4867, - "name": "_tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4862, - "src": "3601:13:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4866, - "name": "_IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4677, - "src": "3593:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$__IERC20_$4677_$", - "typeString": "type(contract _IERC20)" - } - }, - "id": 4868, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3593:22:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "src": "3580:35:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "id": 4870, - "nodeType": "ExpressionStatement", - "src": "3580:35:8" - } - ] - }, - "documentation": null, - "id": 4872, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4863, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4862, - "name": "_tokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4872, - "src": "3539:21:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4861, - "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": 4864, - "nodeType": "ParameterList", - "parameters": [], - "src": "3569:0:8" - }, - "scope": 6434, - "src": "3527:95:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4981, - "nodeType": "Block", - "src": "3676:791:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4880, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4878, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4874, - "src": "3694:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4879, - "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": 4881, - "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": 4877, - "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": 4882, - "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": 4883, - "nodeType": "ExpressionStatement", - "src": "3686:64:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4887, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3792:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4888, - "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": 4891, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "3812:4:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BEPRONetwork_$6434", - "typeString": "contract BEPRONetwork" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_BEPRONetwork_$6434", - "typeString": "contract BEPRONetwork" - } - ], - "id": 4890, - "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": 4889, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3804:7:8", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 4892, - "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": 4893, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4874, - "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": 4885, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4686, - "src": "3768:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "id": 4886, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 8261, - "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": 4894, - "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": 4895, - "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": 4884, - "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": 4896, - "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": 4897, - "nodeType": "ExpressionStatement", - "src": "3760:92:8" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4904, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4898, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "3866:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 4901, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4899, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3873:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4900, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 4902, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4806, - "src": "3866:30:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4903, - "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": 4979, - "nodeType": "Block", - "src": "4159:302:8", - "statements": [ - { - "assignments": [ - 4943 - ], - "declarations": [ - { - "constant": false, - "id": 4943, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4979, - "src": "4203:19:8", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - }, - "typeName": { - "contractScope": null, - "id": 4942, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4807, - "src": "4203:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4948, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4944, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "4225:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 4947, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4945, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4232:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4946, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4203:40:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 4953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4949, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4943, - "src": "4257:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 4951, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4806, - "src": "4257:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4952, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4874, - "src": "4277:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4257:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4954, - "nodeType": "ExpressionStatement", - "src": "4257:32:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 4961, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4955, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4943, - "src": "4303:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 4957, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "delegatedVotesAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 4804, - "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": 4958, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4336:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4959, - "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": 4960, - "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": 4962, - "nodeType": "ExpressionStatement", - "src": "4303:44:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 4970, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4963, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4943, - "src": "4361:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 4967, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 4801, - "src": "4361:20:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 4968, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4965, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4382:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4966, - "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": 4969, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4874, - "src": "4396:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4361:47:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4971, - "nodeType": "ExpressionStatement", - "src": "4361:47:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4975, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4439:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4976, - "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": 4972, - "name": "votersArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4747, - "src": "4422:11:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 4974, - "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": 4977, - "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": 4978, - "nodeType": "ExpressionStatement", - "src": "4422:28:8" - } - ] - }, - "id": 4980, - "nodeType": "IfStatement", - "src": "3863:598:8", - "trueBody": { - "id": 4941, - "nodeType": "Block", - "src": "3902:253:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 4924, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4905, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "3938:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 4908, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4906, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3945:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4907, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 4909, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 4801, - "src": "3938:33:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 4912, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4910, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3972:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4911, - "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": 4922, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4874, - "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": 4913, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "3986:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 4916, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4914, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3993:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4915, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 4917, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 4801, - "src": "3986:33:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 4920, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4918, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4020:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4919, - "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": 4921, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7559, - "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": 4923, - "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": 4925, - "nodeType": "ExpressionStatement", - "src": "3938:111:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 4939, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4926, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "4063:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 4929, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4927, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4070:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4928, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 4930, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4806, - "src": "4063:30:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4937, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4874, - "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": 4931, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "4096:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 4934, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4932, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4103:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4933, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 4935, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4806, - "src": "4096:30:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4936, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7559, - "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": 4938, - "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": 4940, - "nodeType": "ExpressionStatement", - "src": "4063:81:8" - } - ] - } - } - ] - }, - "documentation": null, - "functionSelector": "9816c170", - "id": 4982, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "lockBepro", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4875, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4874, - "name": "_beproAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4982, - "src": "3647:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4873, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3647:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3646:22:8" - }, - "returnParameters": { - "id": 4876, - "nodeType": "ParameterList", - "parameters": [], - "src": "3676:0:8" - }, - "scope": 6434, - "src": "3628:839:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5077, - "nodeType": "Block", - "src": "4538:697:8", - "statements": [ - { - "assignments": [ - 4990 - ], - "declarations": [ - { - "constant": false, - "id": 4990, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5077, - "src": "4548:19:8", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - }, - "typeName": { - "contractScope": null, - "id": 4989, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4807, - "src": "4548:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4995, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4991, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "4570:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 4994, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4992, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4577:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4993, - "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_$4807_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": 5000, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4997, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4990, - "src": "4606:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 4998, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4806, - "src": "4606:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 4999, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4984, - "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": 5001, - "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": 4996, - "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": 5002, - "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": 5003, - "nodeType": "ExpressionStatement", - "src": "4598:73:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5010, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5005, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4990, - "src": "4689:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5006, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 4801, - "src": "4689:20:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5008, - "indexExpression": { - "argumentTypes": null, - "id": 5007, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4986, - "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": 5009, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4984, - "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": 5011, - "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": 5004, - "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": 5012, - "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": 5013, - "nodeType": "ExpressionStatement", - "src": "4681:88:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5024, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5014, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "4780:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5017, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5015, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4787:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5016, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5018, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4806, - "src": "4780:30:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5022, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4984, - "src": "4835:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5019, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4990, - "src": "4813:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5020, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4806, - "src": "4813:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5021, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7580, - "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": 5023, - "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": 5025, - "nodeType": "ExpressionStatement", - "src": "4780:68:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5040, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5026, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "4858:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5029, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5027, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4865:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5028, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5030, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 4801, - "src": "4858:33:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5032, - "indexExpression": { - "argumentTypes": null, - "id": 5031, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4986, - "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": 5038, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4984, - "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": 5033, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4990, - "src": "4901:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5034, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 4801, - "src": "4901:20:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5036, - "indexExpression": { - "argumentTypes": null, - "id": 5035, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4986, - "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": 5037, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7580, - "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": 5039, - "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": 5041, - "nodeType": "ExpressionStatement", - "src": "4858:88:8" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5045, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5042, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4959:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5043, - "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": 5044, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4986, - "src": "4973:5:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "4959:19:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5060, - "nodeType": "IfStatement", - "src": "4956:141:8", - "trueBody": { - "id": 5059, - "nodeType": "Block", - "src": "4979:118:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5057, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5046, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "4993:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5048, - "indexExpression": { - "argumentTypes": null, - "id": 5047, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4986, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5049, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "votesDelegatedByOthers", - "nodeType": "MemberAccess", - "referencedDeclaration": 4797, - "src": "4993:36:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5055, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4984, - "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": 5050, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "5032:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5052, - "indexExpression": { - "argumentTypes": null, - "id": 5051, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4986, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5053, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegatedByOthers", - "nodeType": "MemberAccess", - "referencedDeclaration": 4797, - "src": "5032:36:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5054, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7580, - "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": 5056, - "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": 5058, - "nodeType": "ExpressionStatement", - "src": "4993:93:8" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5064, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5135:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5065, - "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": 5066, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4984, - "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": 5062, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4686, - "src": "5115:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "id": 5063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 8232, - "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": 5067, - "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": 5068, - "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": 5061, - "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": 5069, - "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": 5070, - "nodeType": "ExpressionStatement", - "src": "5107:77:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5074, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4984, - "src": "5215:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5071, - "name": "beproVotesStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4722, - "src": "5194:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5073, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7580, - "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": 5075, - "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": 5076, - "nodeType": "ExpressionStatement", - "src": "5194:34:8" - } - ] - }, - "documentation": null, - "functionSelector": "f38b79b7", - "id": 5078, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "unlockBepro", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4987, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4984, - "name": "_beproAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5078, - "src": "4494:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4983, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4494:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4986, - "name": "_from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5078, - "src": "4516:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4985, - "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": 4988, - "nodeType": "ParameterList", - "parameters": [], - "src": "4538:0:8" - }, - "scope": 6434, - "src": "4473:762:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5189, - "nodeType": "Block", - "src": "5319:849:8", - "statements": [ - { - "assignments": [ - 5086 - ], - "declarations": [ - { - "constant": false, - "id": 5086, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5189, - "src": "5329:19:8", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - }, - "typeName": { - "contractScope": null, - "id": 5085, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4807, - "src": "5329:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5091, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5087, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "5351:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5090, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5088, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5358:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5089, - "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_$4807_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": 5098, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5093, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5082, - "src": "5388:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5096, - "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": 5095, - "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": 5094, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5404:7:8", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5097, - "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": 5099, - "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": 5092, - "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": 5100, - "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": 5101, - "nodeType": "ExpressionStatement", - "src": "5380:74:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5106, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5103, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5082, - "src": "5472:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5104, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5488:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5105, - "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": 5107, - "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": 5102, - "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": 5108, - "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": 5109, - "nodeType": "ExpressionStatement", - "src": "5464:64:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5114, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5111, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5086, - "src": "5547:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5112, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4806, - "src": "5547:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 5113, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "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": 5115, - "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": 5110, - "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": 5116, - "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": 5117, - "nodeType": "ExpressionStatement", - "src": "5539:73:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5125, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5119, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5086, - "src": "5630:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5120, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 4801, - "src": "5630:20:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5123, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5121, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5651:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5122, - "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": 5124, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "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": 5126, - "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": 5118, - "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": 5127, - "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": 5128, - "nodeType": "ExpressionStatement", - "src": "5622:93:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5145, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5129, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "5726:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5132, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5130, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5733:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5131, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5133, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 4801, - "src": "5726:33:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5136, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5134, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5760:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5135, - "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": 5143, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "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": 5137, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5086, - "src": "5774:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5138, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 4801, - "src": "5774:20:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5141, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5139, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5795:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5140, - "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": 5142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7580, - "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": 5144, - "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": 5146, - "nodeType": "ExpressionStatement", - "src": "5726:98:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5147, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "5834:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5150, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5148, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5841:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5149, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5151, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 4801, - "src": "5834:33:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5153, - "indexExpression": { - "argumentTypes": null, - "id": 5152, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5082, - "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": 5159, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "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": 5154, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5086, - "src": "5884:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5155, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 4801, - "src": "5884:20:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5157, - "indexExpression": { - "argumentTypes": null, - "id": 5156, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5082, - "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": 5158, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7559, - "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": 5160, - "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": 5162, - "nodeType": "ExpressionStatement", - "src": "5834:102:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5172, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5164, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "5955:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5166, - "indexExpression": { - "argumentTypes": null, - "id": 5165, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5082, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5167, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4806, - "src": "5955:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5170, - "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": 5169, - "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": 5168, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5991:7:8", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5171, - "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": 5173, - "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": 5163, - "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": 5174, - "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": 5175, - "nodeType": "ExpressionStatement", - "src": "5947:97:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5187, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5176, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "6054:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5178, - "indexExpression": { - "argumentTypes": null, - "id": 5177, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5082, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5179, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "votesDelegatedByOthers", - "nodeType": "MemberAccess", - "referencedDeclaration": 4797, - "src": "6054:43:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5185, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "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": 5180, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "6100:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5182, - "indexExpression": { - "argumentTypes": null, - "id": 5181, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5082, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5183, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegatedByOthers", - "nodeType": "MemberAccess", - "referencedDeclaration": 4797, - "src": "6100:43:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7559, - "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": 5186, - "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": 5188, - "nodeType": "ExpressionStatement", - "src": "6054:107:8" - } - ] - }, - "documentation": null, - "id": 5190, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "delegateOracles", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5083, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5080, - "name": "_beproAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5190, - "src": "5266:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5079, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5266:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5082, - "name": "_delegatedTo", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5190, - "src": "5288:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5081, - "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": 5084, - "nodeType": "ParameterList", - "parameters": [], - "src": "5319:0:8" - }, - "scope": 6434, - "src": "5241:927:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5272, - "nodeType": "Block", - "src": "6221:596:8", - "statements": [ - { - "assignments": [ - 5196 - ], - "declarations": [ - { - "constant": false, - "id": 5196, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5272, - "src": "6231:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_memory_ptr", - "typeString": "struct BEPRONetwork.Voter" - }, - "typeName": { - "contractScope": null, - "id": 5195, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4807, - "src": "6231:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5201, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5197, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "6252:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5200, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5198, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6259:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5199, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6231:39:8" - }, - { - "assignments": [ - 5203 - ], - "declarations": [ - { - "constant": false, - "id": 5203, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5272, - "src": "6280:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue" - }, - "typeName": { - "contractScope": null, - "id": 5202, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4795, - "src": "6280:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_storage_ptr", - "typeString": "struct BEPRONetwork.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5207, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5204, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "6301:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5206, - "indexExpression": { - "argumentTypes": null, - "id": 5205, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5192, - "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_$4795_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": 5212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5209, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5203, - "src": "6335:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5210, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 4772, - "src": "6335:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5211, - "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": 5213, - "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": 5208, - "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": 5214, - "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": 5215, - "nodeType": "ExpressionStatement", - "src": "6327:47:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5218, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5192, - "src": "6410:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5217, - "name": "isIssueApprovable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5491, - "src": "6392:17:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 5219, - "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": 5216, - "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": 5220, - "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": 5221, - "nodeType": "ExpressionStatement", - "src": "6384:36:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5231, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5223, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "6438:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5225, - "indexExpression": { - "argumentTypes": null, - "id": 5224, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5192, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5226, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForApproveByAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 4782, - "src": "6438:41:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5229, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5227, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6480:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5228, - "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": 5230, - "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": 5232, - "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": 5222, - "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": 5233, - "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": 5234, - "nodeType": "ExpressionStatement", - "src": "6430:88:8" - }, - { - "assignments": [ - 5236 - ], - "declarations": [ - { - "constant": false, - "id": 5236, - "name": "votesToAdd", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5272, - "src": "6529:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5235, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6529:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5241, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5238, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6568:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5239, - "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": 5237, - "name": "getVotesByAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6294, - "src": "6550:17:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) returns (uint256)" - } - }, - "id": 5240, - "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": 5253, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5242, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "6589:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5244, - "indexExpression": { - "argumentTypes": null, - "id": 5243, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5192, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5245, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "votesForApprove", - "nodeType": "MemberAccess", - "referencedDeclaration": 4784, - "src": "6589:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5251, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5236, - "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": 5246, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "6624:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5248, - "indexExpression": { - "argumentTypes": null, - "id": 5247, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5192, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5249, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForApprove", - "nodeType": "MemberAccess", - "referencedDeclaration": 4784, - "src": "6624:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5250, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7559, - "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": 5252, - "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": 5254, - "nodeType": "ExpressionStatement", - "src": "6589:83:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5255, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "6682:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5257, - "indexExpression": { - "argumentTypes": null, - "id": 5256, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5192, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5258, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForApproveByAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 4782, - "src": "6682:41:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5261, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5259, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6724:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5260, - "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": 5262, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5236, - "src": "6738:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6682:66:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5264, - "nodeType": "ExpressionStatement", - "src": "6682:66:8" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5266, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5192, - "src": "6777:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5267, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5236, - "src": "6787:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5268, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6799:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5269, - "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": 5265, - "name": "ApproveIssue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4823, - "src": "6764:12:8", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,uint256,address)" - } - }, - "id": 5270, - "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": 5271, - "nodeType": "EmitStatement", - "src": "6759:51:8" - } - ] - }, - "documentation": null, - "functionSelector": "56036543", - "id": 5273, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approveIssue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5193, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5192, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5273, - "src": "6196:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5191, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6196:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6195:18:8" - }, - "returnParameters": { - "id": 5194, - "nodeType": "ParameterList", - "parameters": [], - "src": "6221:0:8" - }, - "scope": 6434, - "src": "6174:643:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5371, - "nodeType": "Block", - "src": "6888:748:8", - "statements": [ - { - "assignments": [ - 5281 - ], - "declarations": [ - { - "constant": false, - "id": 5281, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5371, - "src": "6898:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_memory_ptr", - "typeString": "struct BEPRONetwork.Voter" - }, - "typeName": { - "contractScope": null, - "id": 5280, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4807, - "src": "6898:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5286, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5282, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "6919:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5285, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5283, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6926:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5284, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6898:39:8" - }, - { - "assignments": [ - 5288 - ], - "declarations": [ - { - "constant": false, - "id": 5288, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5371, - "src": "6947:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue" - }, - "typeName": { - "contractScope": null, - "id": 5287, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4795, - "src": "6947:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_storage_ptr", - "typeString": "struct BEPRONetwork.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5292, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5289, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "6968:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5291, - "indexExpression": { - "argumentTypes": null, - "id": 5290, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5275, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6947:37:8" - }, - { - "assignments": [ - 5294 - ], - "declarations": [ - { - "constant": false, - "id": 5294, - "name": "merge", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5371, - "src": "6994:27:8", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - }, - "typeName": { - "contractScope": null, - "id": 5293, - "name": "MergeProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4770, - "src": "6994:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5301, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5295, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "7024:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5297, - "indexExpression": { - "argumentTypes": null, - "id": 5296, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5275, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5298, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 4788, - "src": "7024:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$4770_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 5300, - "indexExpression": { - "argumentTypes": null, - "id": 5299, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5277, - "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_$4770_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": 5306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5303, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5288, - "src": "7083:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5304, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 4772, - "src": "7083:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5305, - "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": 5307, - "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": 5302, - "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": 5308, - "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": 5309, - "nodeType": "ExpressionStatement", - "src": "7075:47:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5311, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5288, - "src": "7140:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5312, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 4790, - "src": "7140:22:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 5313, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5277, - "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": 5315, - "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": 5310, - "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": 5316, - "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": 5317, - "nodeType": "ExpressionStatement", - "src": "7132:76:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5319, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5294, - "src": "7226:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal storage pointer" - } - }, - "id": 5320, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForMergeByAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 4753, - "src": "7226:28:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5323, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5321, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7255:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5322, - "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": 5324, - "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": 5326, - "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": 5318, - "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": 5327, - "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": 5328, - "nodeType": "ExpressionStatement", - "src": "7218:75:8" - }, - { - "assignments": [ - 5330 - ], - "declarations": [ - { - "constant": false, - "id": 5330, - "name": "votesToAdd", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5371, - "src": "7304:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5329, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7304:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5335, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5332, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7343:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5333, - "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": 5331, - "name": "getVotesByAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6294, - "src": "7325:17:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) returns (uint256)" - } - }, - "id": 5334, - "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": 5348, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5336, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "7373:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5338, - "indexExpression": { - "argumentTypes": null, - "id": 5337, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5275, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5339, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 4788, - "src": "7373:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$4770_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 5341, - "indexExpression": { - "argumentTypes": null, - "id": 5340, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5277, - "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_$4770_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 5342, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 4759, - "src": "7373:47:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5346, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5330, - "src": "7439:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5343, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5294, - "src": "7423:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal storage pointer" - } - }, - "id": 5344, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 4759, - "src": "7423:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7559, - "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": 5347, - "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": 5349, - "nodeType": "ExpressionStatement", - "src": "7373:77:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5361, - "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": 5350, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "7460:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5352, - "indexExpression": { - "argumentTypes": null, - "id": 5351, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5275, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5353, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 4788, - "src": "7460:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$4770_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 5355, - "indexExpression": { - "argumentTypes": null, - "id": 5354, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5277, - "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_$4770_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 5356, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForMergeByAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 4753, - "src": "7460:64:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5359, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5357, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7525:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5358, - "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": 5360, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5330, - "src": "7539:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7460:89:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5362, - "nodeType": "ExpressionStatement", - "src": "7460:89:8" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5364, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5275, - "src": "7586:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5365, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5277, - "src": "7596:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5366, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5330, - "src": "7606:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5367, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7618:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5368, - "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": 5363, - "name": "ApproveMerge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4851, - "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": 5369, - "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": 5370, - "nodeType": "EmitStatement", - "src": "7568:61:8" - } - ] - }, - "documentation": null, - "functionSelector": "953030c5", - "id": 5372, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approveMerge", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5278, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5275, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5372, - "src": "6845:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5274, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6845:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5277, - "name": "_mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5372, - "src": "6863:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5276, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6863:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6844:36:8" - }, - "returnParameters": { - "id": 5279, - "nodeType": "ParameterList", - "parameters": [], - "src": "6888:0:8" - }, - "scope": 6434, - "src": "6823:813:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5470, - "nodeType": "Block", - "src": "7707:760:8", - "statements": [ - { - "assignments": [ - 5380 - ], - "declarations": [ - { - "constant": false, - "id": 5380, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5470, - "src": "7717:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_memory_ptr", - "typeString": "struct BEPRONetwork.Voter" - }, - "typeName": { - "contractScope": null, - "id": 5379, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4807, - "src": "7717:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5385, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5381, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "7738:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5384, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5382, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7745:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5383, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7717:39:8" - }, - { - "assignments": [ - 5387 - ], - "declarations": [ - { - "constant": false, - "id": 5387, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5470, - "src": "7766:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue" - }, - "typeName": { - "contractScope": null, - "id": 5386, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4795, - "src": "7766:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_storage_ptr", - "typeString": "struct BEPRONetwork.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5391, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5388, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "7787:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5390, - "indexExpression": { - "argumentTypes": null, - "id": 5389, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5374, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7766:37:8" - }, - { - "assignments": [ - 5393 - ], - "declarations": [ - { - "constant": false, - "id": 5393, - "name": "merge", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5470, - "src": "7813:27:8", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - }, - "typeName": { - "contractScope": null, - "id": 5392, - "name": "MergeProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4770, - "src": "7813:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5400, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5394, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "7843:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5396, - "indexExpression": { - "argumentTypes": null, - "id": 5395, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5374, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5397, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 4788, - "src": "7843:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$4770_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 5399, - "indexExpression": { - "argumentTypes": null, - "id": 5398, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5376, - "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_$4770_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": 5405, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5402, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5387, - "src": "7902:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5403, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 4772, - "src": "7902:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5404, - "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": 5406, - "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": 5401, - "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": 5407, - "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": 5408, - "nodeType": "ExpressionStatement", - "src": "7894:47:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5413, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5410, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5387, - "src": "7959:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5411, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 4790, - "src": "7959:22:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 5412, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5376, - "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": 5414, - "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": 5409, - "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": 5415, - "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": 5416, - "nodeType": "ExpressionStatement", - "src": "7951:76:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5418, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5393, - "src": "8045:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal storage pointer" - } - }, - "id": 5419, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "disputesForMergeByAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 4757, - "src": "8045:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5422, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5420, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8077:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5421, - "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": 5423, - "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": 5425, - "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": 5417, - "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": 5426, - "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": 5427, - "nodeType": "ExpressionStatement", - "src": "8037:78:8" - }, - { - "assignments": [ - 5429 - ], - "declarations": [ - { - "constant": false, - "id": 5429, - "name": "votesToAdd", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5470, - "src": "8126:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5428, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8126:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5434, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5431, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8165:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5432, - "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": 5430, - "name": "getVotesByAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6294, - "src": "8147:17:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) returns (uint256)" - } - }, - "id": 5433, - "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": 5447, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5435, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "8195:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5437, - "indexExpression": { - "argumentTypes": null, - "id": 5436, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5374, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5438, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 4788, - "src": "8195:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$4770_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 5440, - "indexExpression": { - "argumentTypes": null, - "id": 5439, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5376, - "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_$4770_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 5441, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "disputes", - "nodeType": "MemberAccess", - "referencedDeclaration": 4761, - "src": "8195:50:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5445, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5429, - "src": "8267:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5442, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5393, - "src": "8248:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal storage pointer" - } - }, - "id": 5443, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "disputes", - "nodeType": "MemberAccess", - "referencedDeclaration": 4761, - "src": "8248:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5444, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7559, - "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": 5446, - "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": 5448, - "nodeType": "ExpressionStatement", - "src": "8195:83:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5460, - "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": 5449, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "8288:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5451, - "indexExpression": { - "argumentTypes": null, - "id": 5450, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5374, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5452, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 4788, - "src": "8288:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$4770_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 5454, - "indexExpression": { - "argumentTypes": null, - "id": 5453, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5376, - "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_$4770_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 5455, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "disputesForMergeByAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 4757, - "src": "8288:67:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5458, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5456, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8356:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5457, - "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": 5459, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5429, - "src": "8370:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8288:92:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5461, - "nodeType": "ExpressionStatement", - "src": "8288:92:8" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5463, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5374, - "src": "8417:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5464, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5376, - "src": "8427:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5465, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5429, - "src": "8437:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5466, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8449:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5467, - "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": 5462, - "name": "DisputeMerge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4841, - "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": 5468, - "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": 5469, - "nodeType": "EmitStatement", - "src": "8399:61:8" - } - ] - }, - "documentation": null, - "functionSelector": "f87be2d4", - "id": 5471, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "disputeMerge", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5377, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5374, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5471, - "src": "7664:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5373, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7664:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5376, - "name": "_mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5471, - "src": "7682:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5375, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7682:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7663:36:8" - }, - "returnParameters": { - "id": 5378, - "nodeType": "ParameterList", - "parameters": [], - "src": "7707:0:8" - }, - "scope": 6434, - "src": "7642:825:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5490, - "nodeType": "Block", - "src": "8539:140:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5483, - "name": "timeOpenForIssueApprove", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4716, - "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": 5478, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "8595:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5480, - "indexExpression": { - "argumentTypes": null, - "id": 5479, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5473, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5481, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "creationDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 4774, - "src": "8595:29:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5482, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7559, - "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": 5484, - "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": 5485, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "8656:5:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 5486, - "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": 5488, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8594:78:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 5477, - "id": 5489, - "nodeType": "Return", - "src": "8587:85:8" - } - ] - }, - "documentation": null, - "functionSelector": "96983822", - "id": 5491, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isIssueApprovable", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5474, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5473, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5491, - "src": "8500:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5472, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8500:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8499:18:8" - }, - "returnParameters": { - "id": 5477, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5476, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5491, - "src": "8534:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5475, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8534:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8533:6:8" - }, - "scope": 6434, - "src": "8473:206:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5512, - "nodeType": "Block", - "src": "8750:119:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5509, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5498, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "8768:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5500, - "indexExpression": { - "argumentTypes": null, - "id": 5499, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5493, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5501, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForApprove", - "nodeType": "MemberAccess", - "referencedDeclaration": 4784, - "src": "8768:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "313030", - "id": 5507, - "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": 5504, - "name": "percentageNeededForApprove", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4710, - "src": "8825:26:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5502, - "name": "beproVotesStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4722, - "src": "8804:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5503, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7613, - "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": 5505, - "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": 5506, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7634, - "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": 5508, - "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": 5510, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8767:95:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 5497, - "id": 5511, - "nodeType": "Return", - "src": "8760:102:8" - } - ] - }, - "documentation": null, - "functionSelector": "3d734948", - "id": 5513, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isIssueApproved", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5494, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5493, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5513, - "src": "8710:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5492, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8710:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8709:18:8" - }, - "returnParameters": { - "id": 5497, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5496, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5513, - "src": "8744:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5495, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8744:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8743:6:8" - }, - "scope": 6434, - "src": "8685:184:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5539, - "nodeType": "Block", - "src": "8958:137:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5536, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5522, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "8976:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5524, - "indexExpression": { - "argumentTypes": null, - "id": 5523, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5515, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5525, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 4788, - "src": "8976:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$4770_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 5527, - "indexExpression": { - "argumentTypes": null, - "id": 5526, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5517, - "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_$4770_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 5528, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "disputes", - "nodeType": "MemberAccess", - "referencedDeclaration": 4761, - "src": "8976:50:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "313030", - "id": 5534, - "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": 5531, - "name": "percentageNeededForDispute", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4713, - "src": "9051:26:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5529, - "name": "beproVotesStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4722, - "src": "9030:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5530, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7613, - "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": 5532, - "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": 5533, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7634, - "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": 5535, - "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": 5537, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8975:113:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 5521, - "id": 5538, - "nodeType": "Return", - "src": "8968:120:8" - } - ] - }, - "documentation": null, - "functionSelector": "f29b4250", - "id": 5540, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isMergeDisputed", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5518, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5515, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5540, - "src": "8900:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5514, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8900:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5517, - "name": "_mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5540, - "src": "8918:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5516, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8918:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8899:36:8" - }, - "returnParameters": { - "id": 5521, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5520, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5540, - "src": "8952:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5519, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8952:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8951:6:8" - }, - "scope": 6434, - "src": "8875:220:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5566, - "nodeType": "Block", - "src": "9184:132:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5549, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "9202:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5551, - "indexExpression": { - "argumentTypes": null, - "id": 5550, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5542, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5552, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 4788, - "src": "9202:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$4770_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 5554, - "indexExpression": { - "argumentTypes": null, - "id": 5553, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5544, - "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_$4770_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 5555, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 4759, - "src": "9202:47:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "313030", - "id": 5561, - "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": 5558, - "name": "percentageNeededForMerge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4719, - "src": "9274:24:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5556, - "name": "beproVotesStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4722, - "src": "9253:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5557, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7613, - "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": 5559, - "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": 5560, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7634, - "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": 5562, - "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": 5564, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "9201:108:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 5548, - "id": 5565, - "nodeType": "Return", - "src": "9194:115:8" - } - ] - }, - "documentation": null, - "functionSelector": "ce13eae6", - "id": 5567, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isMergeApproved", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5545, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5542, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5567, - "src": "9126:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5541, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9126:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5544, - "name": "_mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5567, - "src": "9144:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5543, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9144:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9125:36:8" - }, - "returnParameters": { - "id": 5548, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5547, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5567, - "src": "9178:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5546, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "9178:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9177:6:8" - }, - "scope": 6434, - "src": "9101:215:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5616, - "nodeType": "Block", - "src": "9420:309:8", - "statements": [ - { - "assignments": [ - 5577 - ], - "declarations": [ - { - "constant": false, - "id": 5577, - "name": "thisMergeVotes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5616, - "src": "9430:22:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5576, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9430:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5585, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5578, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "9455:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5580, - "indexExpression": { - "argumentTypes": null, - "id": 5579, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5569, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5581, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 4788, - "src": "9455:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$4770_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 5583, - "indexExpression": { - "argumentTypes": null, - "id": 5582, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5571, - "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_$4770_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 5584, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 4759, - "src": "9455:47:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9430:72:8" - }, - { - "body": { - "id": 5612, - "nodeType": "Block", - "src": "9572:130:8", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5607, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5599, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "9589:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5601, - "indexExpression": { - "argumentTypes": null, - "id": 5600, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5569, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5602, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 4788, - "src": "9589:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$4770_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 5604, - "indexExpression": { - "argumentTypes": null, - "id": 5603, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5587, - "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_$4770_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 5605, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 4759, - "src": "9589:40:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 5606, - "name": "thisMergeVotes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5577, - "src": "9632:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9589:57:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5611, - "nodeType": "IfStatement", - "src": "9586:106:8", - "trueBody": { - "id": 5610, - "nodeType": "Block", - "src": "9647:45:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 5608, - "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": 5575, - "id": 5609, - "nodeType": "Return", - "src": "9665:12:8" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5595, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5590, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5587, - "src": "9529:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5591, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "9533:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5593, - "indexExpression": { - "argumentTypes": null, - "id": 5592, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5569, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5594, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 4790, - "src": "9533:33:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9529:37:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5613, - "initializationExpression": { - "assignments": [ - 5587 - ], - "declarations": [ - { - "constant": false, - "id": 5587, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5613, - "src": "9516:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5586, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "9516:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5589, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 5588, - "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": 5597, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "9568:3:8", - "subExpression": { - "argumentTypes": null, - "id": 5596, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5587, - "src": "9568:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 5598, - "nodeType": "ExpressionStatement", - "src": "9568:3:8" - }, - "nodeType": "ForStatement", - "src": "9512:190:8" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5614, - "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": 5575, - "id": 5615, - "nodeType": "Return", - "src": "9711:11:8" - } - ] - }, - "documentation": null, - "functionSelector": "839408a5", - "id": 5617, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isMergeTheOneWithMoreVotes", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5572, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5569, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "9362:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5568, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9362:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5571, - "name": "_mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "9380:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5570, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9380:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9361:36:8" - }, - "returnParameters": { - "id": 5575, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5574, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "9414:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5573, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "9414:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9413:6:8" - }, - "scope": 6434, - "src": "9326:403:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5707, - "nodeType": "Block", - "src": "9872:649:8", - "statements": [ - { - "assignments": [ - 5625 - ], - "declarations": [ - { - "constant": false, - "id": 5625, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5707, - "src": "9904:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue" - }, - "typeName": { - "contractScope": null, - "id": 5624, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4795, - "src": "9904:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_storage_ptr", - "typeString": "struct BEPRONetwork.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5626, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "9904:18:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5631, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5627, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5625, - "src": "9932:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5629, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 4772, - "src": "9932:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5630, - "name": "incrementIssueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4692, - "src": "9944:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9932:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5632, - "nodeType": "ExpressionStatement", - "src": "9932:28:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5637, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5633, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5625, - "src": "9970:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5635, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4776, - "src": "9970:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5636, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5619, - "src": "9990:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9970:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5638, - "nodeType": "ExpressionStatement", - "src": "9970:32:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5644, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5639, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5625, - "src": "10012:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5641, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "issueGenerator", - "nodeType": "MemberAccess", - "referencedDeclaration": 4778, - "src": "10012:20:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5642, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10035: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": "10035:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "10012:33:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5645, - "nodeType": "ExpressionStatement", - "src": "10012:33:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5651, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5646, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5625, - "src": "10055:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5648, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "creationDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 4774, - "src": "10055:18:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5649, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "10076:5:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 5650, - "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": 5652, - "nodeType": "ExpressionStatement", - "src": "10055:36:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5653, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5625, - "src": "10101:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5655, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 4792, - "src": "10101:15:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 5656, - "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": 5658, - "nodeType": "ExpressionStatement", - "src": "10101:23:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5659, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "10134:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5661, - "indexExpression": { - "argumentTypes": null, - "id": 5660, - "name": "incrementIssueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4692, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5662, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5625, - "src": "10161:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "src": "10134:32:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5664, - "nodeType": "ExpressionStatement", - "src": "10134:32:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5670, - "name": "incrementIssueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4692, - "src": "10202:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5665, - "name": "myIssues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4740, - "src": "10176:8:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 5668, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5666, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10185:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5667, - "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": 5669, - "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": 5671, - "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": 5672, - "nodeType": "ExpressionStatement", - "src": "10176:43:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5676, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10284:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5677, - "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": 5680, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "10304:4:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BEPRONetwork_$6434", - "typeString": "contract BEPRONetwork" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_BEPRONetwork_$6434", - "typeString": "contract BEPRONetwork" - } - ], - "id": 5679, - "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": 5678, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10296:7:8", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5681, - "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": 5682, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5619, - "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": 5674, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4686, - "src": "10260:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "id": 5675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 8261, - "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": 5683, - "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": 5684, - "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": 5673, - "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": 5685, - "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": 5686, - "nodeType": "ExpressionStatement", - "src": "10252:92:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5692, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5687, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4698, - "src": "10354:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5690, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5619, - "src": "10384:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5688, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4698, - "src": "10368:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5689, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7559, - "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": 5691, - "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": 5693, - "nodeType": "ExpressionStatement", - "src": "10354:43:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5698, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5694, - "name": "incrementIssueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4692, - "src": "10407:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5697, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5695, - "name": "incrementIssueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4692, - "src": "10426:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5696, - "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": 5699, - "nodeType": "ExpressionStatement", - "src": "10407:39:8" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5701, - "name": "incrementIssueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4692, - "src": "10471:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5702, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10489:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5703, - "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": 5704, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5619, - "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": 5700, - "name": "OpenIssue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4815, - "src": "10461:9:8", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (uint256,address,uint256)" - } - }, - "id": 5705, - "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": 5706, - "nodeType": "EmitStatement", - "src": "10456:58:8" - } - ] - }, - "documentation": "@dev open an Issue with bepro owned\n1st step", - "functionSelector": "b2bb95f5", - "id": 5708, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 5622, - "modifierName": { - "argumentTypes": null, - "id": 5621, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10724, - "src": "9858:13:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "9858:13:8" - } - ], - "name": "openIssue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5620, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5619, - "name": "_beproAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5708, - "src": "9829:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5618, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9829:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9828:22:8" - }, - "returnParameters": { - "id": 5623, - "nodeType": "ParameterList", - "parameters": [], - "src": "9872:0:8" - }, - "scope": 6434, - "src": "9810:711:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5769, - "nodeType": "Block", - "src": "10587:464:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5722, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5716, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "10605:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5718, - "indexExpression": { - "argumentTypes": null, - "id": 5717, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5710, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5719, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "issueGenerator", - "nodeType": "MemberAccess", - "referencedDeclaration": 4778, - "src": "10605:31:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5720, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10640:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5721, - "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": 5723, - "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": 5715, - "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": 5724, - "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": 5725, - "nodeType": "ExpressionStatement", - "src": "10597:85:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5730, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "10700:26:8", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5728, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5710, - "src": "10717:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5727, - "name": "isIssueApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5513, - "src": "10701:15:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 5729, - "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": 5731, - "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": 5726, - "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": 5732, - "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": 5733, - "nodeType": "ExpressionStatement", - "src": "10692:67:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5738, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "10777:28:8", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5736, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5710, - "src": "10796:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5735, - "name": "isIssueApprovable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5491, - "src": "10778:17:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 5737, - "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": 5739, - "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": 5734, - "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": 5740, - "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": 5741, - "nodeType": "ExpressionStatement", - "src": "10769:84:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5747, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5742, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "10863:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5744, - "indexExpression": { - "argumentTypes": null, - "id": 5743, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5710, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5745, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 4792, - "src": "10863:26:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5746, - "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": 5748, - "nodeType": "ExpressionStatement", - "src": "10863:33:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5754, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5749, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "10906:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5751, - "indexExpression": { - "argumentTypes": null, - "id": 5750, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5710, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5752, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "canceled", - "nodeType": "MemberAccess", - "referencedDeclaration": 4794, - "src": "10906:25:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5753, - "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": 5755, - "nodeType": "ExpressionStatement", - "src": "10906:32:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5759, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10976:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5760, - "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": 5761, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "10988:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5763, - "indexExpression": { - "argumentTypes": null, - "id": 5762, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5710, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5764, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4776, - "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": 5757, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4686, - "src": "10956:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "id": 5758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 8232, - "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": 5765, - "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": 5766, - "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": 5756, - "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": 5767, - "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": 5768, - "nodeType": "ExpressionStatement", - "src": "10948:96:8" - } - ] - }, - "documentation": null, - "functionSelector": "202996fb", - "id": 5770, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 5713, - "modifierName": { - "argumentTypes": null, - "id": 5712, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10724, - "src": "10573:13:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "10573:13:8" - } - ], - "name": "redeemIssue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5711, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5710, - "name": "_issueId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5770, - "src": "10548:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5709, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10548:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10547:18:8" - }, - "returnParameters": { - "id": 5714, - "nodeType": "ParameterList", - "parameters": [], - "src": "10587:0:8" - }, - "scope": 6434, - "src": "10527:524:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5878, - "nodeType": "Block", - "src": "11233:894:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5785, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5780, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "11251:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5782, - "indexExpression": { - "argumentTypes": null, - "id": 5781, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5772, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5783, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4776, - "src": "11251:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5784, - "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": 5786, - "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": 5779, - "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": 5787, - "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": 5788, - "nodeType": "ExpressionStatement", - "src": "11243:64:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5796, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5790, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "11325:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5792, - "indexExpression": { - "argumentTypes": null, - "id": 5791, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5772, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5793, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "issueGenerator", - "nodeType": "MemberAccess", - "referencedDeclaration": 4778, - "src": "11325:31:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5794, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11360:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5795, - "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": 5797, - "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": 5789, - "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": 5798, - "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": 5799, - "nodeType": "ExpressionStatement", - "src": "11317:85:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "11420:26:8", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5802, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5772, - "src": "11437:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5801, - "name": "isIssueApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5513, - "src": "11421:15:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 5803, - "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": 5805, - "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": 5800, - "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": 5806, - "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": 5807, - "nodeType": "ExpressionStatement", - "src": "11412:64:8" - }, - { - "assignments": [ - 5809 - ], - "declarations": [ - { - "constant": false, - "id": 5809, - "name": "previousAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5878, - "src": "11487:22:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5808, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11487:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5814, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5810, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "11512:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5812, - "indexExpression": { - "argumentTypes": null, - "id": 5811, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5772, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5813, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4776, - "src": "11512:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11487:53:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5820, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5815, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "11574:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5817, - "indexExpression": { - "argumentTypes": null, - "id": 5816, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5772, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5818, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4776, - "src": "11574:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5819, - "name": "_newbeproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5774, - "src": "11605:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11574:46:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5821, - "nodeType": "ExpressionStatement", - "src": "11574:46:8" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5824, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5822, - "name": "_newbeproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5774, - "src": "11656:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 5823, - "name": "previousAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5809, - "src": "11674:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11656:32:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 5876, - "nodeType": "Block", - "src": "11913:208:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5856, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11955:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5857, - "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": 5860, - "name": "_newbeproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5774, - "src": "11986:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5858, - "name": "previousAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5809, - "src": "11967:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5859, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7580, - "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": 5861, - "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": 5854, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4686, - "src": "11935:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "id": 5855, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 8232, - "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": 5862, - "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": 5863, - "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": 5853, - "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": 5864, - "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": 5865, - "nodeType": "ExpressionStatement", - "src": "11927:103:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5874, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5866, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4698, - "src": "12044:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5871, - "name": "_newbeproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5774, - "src": "12093:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5869, - "name": "previousAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5809, - "src": "12074:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5870, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7580, - "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": 5872, - "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": 5867, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4698, - "src": "12058:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5868, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7580, - "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": 5873, - "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": 5875, - "nodeType": "ExpressionStatement", - "src": "12044:66:8" - } - ] - }, - "id": 5877, - "nodeType": "IfStatement", - "src": "11653:468:8", - "trueBody": { - "id": 5852, - "nodeType": "Block", - "src": "11689:220:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5828, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11735:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5829, - "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": 5832, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "11755:4:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BEPRONetwork_$6434", - "typeString": "contract BEPRONetwork" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_BEPRONetwork_$6434", - "typeString": "contract BEPRONetwork" - } - ], - "id": 5831, - "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": 5830, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11747:7:8", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5833, - "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": 5836, - "name": "previousAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5809, - "src": "11782:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5834, - "name": "_newbeproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5774, - "src": "11762:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5835, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7580, - "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": 5837, - "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": 5826, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4686, - "src": "11711:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "id": 5827, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 8261, - "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": 5838, - "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": 5839, - "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": 5825, - "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": 5840, - "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": 5841, - "nodeType": "ExpressionStatement", - "src": "11703:115:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5850, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5842, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4698, - "src": "11832:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5847, - "name": "previousAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5809, - "src": "11882:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5845, - "name": "_newbeproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5774, - "src": "11862:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5846, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7580, - "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": 5848, - "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": 5843, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4698, - "src": "11846:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5844, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7559, - "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": 5849, - "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": 5851, - "nodeType": "ExpressionStatement", - "src": "11832:66:8" - } - ] - } - } - ] - }, - "documentation": "@dev update an Issue with bepro owned\n2nd step (optional)", - "functionSelector": "05563309", - "id": 5879, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 5777, - "modifierName": { - "argumentTypes": null, - "id": 5776, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10724, - "src": "11219:13:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "11219:13:8" - } - ], - "name": "updateIssue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5775, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5772, - "name": "_issueId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5879, - "src": "11169:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5771, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11169:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5774, - "name": "_newbeproAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5879, - "src": "11187:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5773, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11187:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11168:43:8" - }, - "returnParameters": { - "id": 5778, - "nodeType": "ParameterList", - "parameters": [], - "src": "11233:0:8" - }, - "scope": 6434, - "src": "11148:979:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6071, - "nodeType": "Block", - "src": "12483:1486:8", - "statements": [ - { - "assignments": [ - 5893 - ], - "declarations": [ - { - "constant": false, - "id": 5893, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6071, - "src": "12502:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue" - }, - "typeName": { - "contractScope": null, - "id": 5892, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4795, - "src": "12502:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_storage_ptr", - "typeString": "struct BEPRONetwork.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5897, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5894, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "12523:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5896, - "indexExpression": { - "argumentTypes": null, - "id": 5895, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5881, - "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_$4795_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": 5902, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5899, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5893, - "src": "12557:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5900, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 4772, - "src": "12557:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5901, - "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": 5903, - "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": 5898, - "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": 5904, - "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": 5905, - "nodeType": "ExpressionStatement", - "src": "12549:46:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5910, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5907, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5893, - "src": "12613:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5908, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 4792, - "src": "12613:15:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 5909, - "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": 5911, - "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": 5906, - "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": 5912, - "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": 5913, - "nodeType": "ExpressionStatement", - "src": "12605:59:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5919, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5915, - "name": "_prAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5887, - "src": "12682:10:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 5916, - "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": 5917, - "name": "_prAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5884, - "src": "12703:12:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 5918, - "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": 5920, - "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": 5914, - "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": 5921, - "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": 5922, - "nodeType": "ExpressionStatement", - "src": "12674:90:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5934, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5926, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "12803:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5927, - "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": 5924, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4686, - "src": "12782:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "id": 5925, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 8223, - "src": "12782:20:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 5928, - "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": 5933, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5929, - "name": "COUNCIL_BEPRO_AMOUNT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4725, - "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": 5932, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 5930, - "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": 5931, - "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": 5935, - "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": 5923, - "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": 5936, - "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": 5937, - "nodeType": "ExpressionStatement", - "src": "12774:148:8" - }, - { - "assignments": [ - 5939 - ], - "declarations": [ - { - "constant": false, - "id": 5939, - "name": "mergeProposal", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6071, - "src": "12933:34:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - }, - "typeName": { - "contractScope": null, - "id": 5938, - "name": "MergeProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4770, - "src": "12933:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5940, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "12933:34:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5946, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5941, - "name": "mergeProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5939, - "src": "12977:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 5943, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 4749, - "src": "12977:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5944, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5893, - "src": "12997:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5945, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 4790, - "src": "12997:22:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12977:42:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5947, - "nodeType": "ExpressionStatement", - "src": "12977:42:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5952, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5948, - "name": "mergeProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5939, - "src": "13029:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 5950, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "prAmounts", - "nodeType": "MemberAccess", - "referencedDeclaration": 4767, - "src": "13029:23:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5951, - "name": "_prAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5887, - "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": 5953, - "nodeType": "ExpressionStatement", - "src": "13029:36:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5958, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5954, - "name": "mergeProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5939, - "src": "13075:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 5956, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "prAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 4764, - "src": "13075:25:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5957, - "name": "_prAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5884, - "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": 5959, - "nodeType": "ExpressionStatement", - "src": "13075:40:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5965, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5960, - "name": "mergeProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5939, - "src": "13125:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 5962, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "proposalAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 4769, - "src": "13125:29:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5963, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13157:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5964, - "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": 5966, - "nodeType": "ExpressionStatement", - "src": "13125:42:8" - }, - { - "assignments": [ - 5968 - ], - "declarations": [ - { - "constant": false, - "id": 5968, - "name": "total", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6071, - "src": "13178:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5967, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13178:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5982, - "initialValue": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5980, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5977, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5969, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "13196:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5971, - "indexExpression": { - "argumentTypes": null, - "id": 5970, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5881, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5972, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4776, - "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": 5975, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5973, - "name": "feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4704, - "src": "13228:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 5974, - "name": "mergeCreatorFeeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4707, - "src": "13239:20:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13228:31:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5976, - "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": 5978, - "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": 5979, - "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": 5981, - "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": 6029, - "nodeType": "Block", - "src": "13355:289:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6006, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5997, - "name": "_prAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5884, - "src": "13398:12:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 5999, - "indexExpression": { - "argumentTypes": null, - "id": 5998, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5984, - "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": 5995, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4686, - "src": "13377:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "id": 5996, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 8223, - "src": "13377:20:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6000, - "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": 6005, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6001, - "name": "DEVELOPER_BEPRO_AMOUNT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4731, - "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": 6004, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 6002, - "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": 6003, - "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": 6007, - "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": 5994, - "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": 6008, - "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": 6009, - "nodeType": "ExpressionStatement", - "src": "13369:172:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6027, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6010, - "name": "total", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5968, - "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": 6025, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6022, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6013, - "name": "_prAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5887, - "src": "13574:10:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 6015, - "indexExpression": { - "argumentTypes": null, - "id": 6014, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5984, - "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": 6020, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6018, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 6016, - "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": 6017, - "name": "feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4704, - "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": 6019, - "name": "mergeCreatorFeeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4707, - "src": "13604:20:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13591:33:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6021, - "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": 6023, - "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": 6024, - "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": 6011, - "name": "total", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5968, - "src": "13563:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6012, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7559, - "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": 6026, - "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": 6028, - "nodeType": "ExpressionStatement", - "src": "13555:78:8" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5987, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5984, - "src": "13326:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5988, - "name": "_prAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5884, - "src": "13330:12:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 5989, - "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": 6030, - "initializationExpression": { - "assignments": [ - 5984 - ], - "declarations": [ - { - "constant": false, - "id": 5984, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6030, - "src": "13314:6:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5983, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "13314:4:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5986, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 5985, - "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": 5992, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "13351:3:8", - "subExpression": { - "argumentTypes": null, - "id": 5991, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5984, - "src": "13351:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5993, - "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": 6037, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6032, - "name": "total", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5968, - "src": "13662:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6033, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "13671:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6035, - "indexExpression": { - "argumentTypes": null, - "id": 6034, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5881, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6036, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4776, - "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": 6038, - "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": 6031, - "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": 6039, - "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": 6040, - "nodeType": "ExpressionStatement", - "src": "13654:67:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6049, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6041, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "13732:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6043, - "indexExpression": { - "argumentTypes": null, - "id": 6042, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5881, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6044, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 4788, - "src": "13732:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$4770_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 6047, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6045, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5893, - "src": "13764:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6046, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 4790, - "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_$4770_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6048, - "name": "mergeProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5939, - "src": "13790:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "src": "13732:71:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 6050, - "nodeType": "ExpressionStatement", - "src": "13732:71:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6061, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6051, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "13813:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6053, - "indexExpression": { - "argumentTypes": null, - "id": 6052, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5881, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6054, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 4790, - "src": "13813:33:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6060, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6055, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "13849:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6057, - "indexExpression": { - "argumentTypes": null, - "id": 6056, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5881, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6058, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 4790, - "src": "13849:33:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 6059, - "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": 6062, - "nodeType": "ExpressionStatement", - "src": "13813:73:8" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6064, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5881, - "src": "13922:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6065, - "name": "mergeProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5939, - "src": "13932:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6066, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 4749, - "src": "13932:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6067, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13951:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6068, - "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": 6063, - "name": "MergeProposalCreated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4831, - "src": "13901:20:8", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,uint256,address)" - } - }, - "id": 6069, - "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": 6070, - "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": 6072, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 5890, - "modifierName": { - "argumentTypes": null, - "id": 5889, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10724, - "src": "12469:13:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "12469:13:8" - } - ], - "name": "proposeIssueMerge", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5888, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5881, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6072, - "src": "12384:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5880, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12384:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5884, - "name": "_prAddresses", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6072, - "src": "12402:29:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 5882, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12402:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5883, - "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": 5887, - "name": "_prAmounts", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6072, - "src": "12433:27:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 5885, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12433:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5886, - "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": 5891, - "nodeType": "ParameterList", - "parameters": [], - "src": "12483:0:8" - }, - "scope": 6434, - "src": "12357:1612:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6257, - "nodeType": "Block", - "src": "14239:1502:8", - "statements": [ - { - "assignments": [ - 6082 - ], - "declarations": [ - { - "constant": false, - "id": 6082, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6257, - "src": "14249:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue" - }, - "typeName": { - "contractScope": null, - "id": 6081, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4795, - "src": "14249:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_storage_ptr", - "typeString": "struct BEPRONetwork.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6086, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6083, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "14270:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6085, - "indexExpression": { - "argumentTypes": null, - "id": 6084, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6074, - "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_$4795_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": 6091, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6088, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6082, - "src": "14304:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6089, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 4772, - "src": "14304:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6090, - "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": 6092, - "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": 6087, - "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": 6093, - "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": 6094, - "nodeType": "ExpressionStatement", - "src": "14296:46:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6099, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6096, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6082, - "src": "14360:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6097, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 4792, - "src": "14360:15:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 6098, - "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": 6100, - "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": 6095, - "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": 6101, - "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": 6102, - "nodeType": "ExpressionStatement", - "src": "14352:59:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6107, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6104, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6082, - "src": "14429:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6105, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 4790, - "src": "14429:22:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 6106, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6076, - "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": 6108, - "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": 6103, - "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": 6109, - "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": 6110, - "nodeType": "ExpressionStatement", - "src": "14421:76:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6113, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6074, - "src": "14531:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6114, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6076, - "src": "14541:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6112, - "name": "isMergeApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5567, - "src": "14515:15:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256,uint256) returns (bool)" - } - }, - "id": 6115, - "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": 6116, - "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": 6111, - "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": 6117, - "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": 6118, - "nodeType": "ExpressionStatement", - "src": "14507:79:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6124, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "14604:36:8", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6121, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6074, - "src": "14621:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6122, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6076, - "src": "14631:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6120, - "name": "isMergeDisputed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5540, - "src": "14605:15:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256,uint256) returns (bool)" - } - }, - "id": 6123, - "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": 6125, - "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": 6119, - "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": 6126, - "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": 6127, - "nodeType": "ExpressionStatement", - "src": "14596:72:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6130, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6074, - "src": "14713:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6131, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6076, - "src": "14723:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6129, - "name": "isMergeTheOneWithMoreVotes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5617, - "src": "14686:26:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256,uint256) returns (bool)" - } - }, - "id": 6132, - "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": 6133, - "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": 6128, - "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": 6134, - "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": 6135, - "nodeType": "ExpressionStatement", - "src": "14678:100:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6141, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6136, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "14817:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6138, - "indexExpression": { - "argumentTypes": null, - "id": 6137, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6074, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6139, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 4792, - "src": "14817:26:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 6140, - "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": 6142, - "nodeType": "ExpressionStatement", - "src": "14817:33:8" - }, - { - "assignments": [ - 6144 - ], - "declarations": [ - { - "constant": false, - "id": 6144, - "name": "merge", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6257, - "src": "14860:26:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - }, - "typeName": { - "contractScope": null, - "id": 6143, - "name": "MergeProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4770, - "src": "14860:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6151, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6145, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "14889:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6147, - "indexExpression": { - "argumentTypes": null, - "id": 6146, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6074, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6148, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 4788, - "src": "14889:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$4770_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 6150, - "indexExpression": { - "argumentTypes": null, - "id": 6149, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6076, - "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_$4770_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14860:70:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6155, - "name": "feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4701, - "src": "14993:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6156, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "15006:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6158, - "indexExpression": { - "argumentTypes": null, - "id": 6157, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6074, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6159, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4776, - "src": "15006:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 6160, - "name": "feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4704, - "src": "15037:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15006:39:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6162, - "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": 6163, - "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": 6153, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4686, - "src": "14973:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "id": 6154, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 8232, - "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": 6165, - "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": 6166, - "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": 6152, - "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": 6167, - "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": 6168, - "nodeType": "ExpressionStatement", - "src": "14965:108:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6172, - "name": "feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4701, - "src": "15146:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6181, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6178, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6173, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "15159:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6175, - "indexExpression": { - "argumentTypes": null, - "id": 6174, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6074, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6176, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4776, - "src": "15159:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 6177, - "name": "mergeCreatorFeeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4707, - "src": "15190:20:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15159:51:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6179, - "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": 6180, - "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": 6170, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4686, - "src": "15126:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "id": 6171, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 8232, - "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": 6182, - "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": 6183, - "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": 6169, - "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": 6184, - "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": 6185, - "nodeType": "ExpressionStatement", - "src": "15118:120:8" - }, - { - "body": { - "id": 6233, - "nodeType": "Block", - "src": "15345:219:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6205, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6074, - "src": "15395:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6198, - "name": "myIssues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4740, - "src": "15359:8:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 6203, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6199, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6144, - "src": "15368:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6200, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 4764, - "src": "15368:17:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "id": 6202, - "indexExpression": { - "argumentTypes": null, - "id": 6201, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6187, - "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": 6204, - "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": 6206, - "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": 6207, - "nodeType": "ExpressionStatement", - "src": "15359:45:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6211, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6144, - "src": "15446:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6212, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 4764, - "src": "15446:17:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "id": 6214, - "indexExpression": { - "argumentTypes": null, - "id": 6213, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6187, - "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": 6228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6225, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6215, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6144, - "src": "15469:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6216, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAmounts", - "nodeType": "MemberAccess", - "referencedDeclaration": 4767, - "src": "15469:15:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "id": 6218, - "indexExpression": { - "argumentTypes": null, - "id": 6217, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6187, - "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": 6223, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6221, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 6219, - "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": 6220, - "name": "feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4704, - "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": 6222, - "name": "mergeCreatorFeeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4707, - "src": "15504:20:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15491:33:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6224, - "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": 6226, - "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": 6227, - "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": 6209, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4686, - "src": "15426:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "id": 6210, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 8232, - "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": 6229, - "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": 6230, - "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": 6208, - "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": 6231, - "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": 6232, - "nodeType": "ExpressionStatement", - "src": "15418:135:8" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6194, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6190, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6187, - "src": "15311:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6191, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6144, - "src": "15315:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6192, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 4764, - "src": "15315:17:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "id": 6193, - "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": 6234, - "initializationExpression": { - "assignments": [ - 6187 - ], - "declarations": [ - { - "constant": false, - "id": 6187, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6234, - "src": "15299:6:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6186, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "15299:4:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6189, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 6188, - "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": 6196, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "15341:3:8", - "subExpression": { - "argumentTypes": null, - "id": 6195, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6187, - "src": "15341:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6197, - "nodeType": "ExpressionStatement", - "src": "15341:3:8" - }, - "nodeType": "ForStatement", - "src": "15295:269:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6235, - "name": "closedIdsCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4695, - "src": "15574:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 6238, - "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": 6236, - "name": "closedIdsCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4695, - "src": "15591:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6237, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7559, - "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": 6239, - "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": 6241, - "nodeType": "ExpressionStatement", - "src": "15574:38:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6242, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4698, - "src": "15622:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6245, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6082, - "src": "15652:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6246, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4776, - "src": "15652:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6243, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4698, - "src": "15636:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6244, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7580, - "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": 6247, - "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": 6249, - "nodeType": "ExpressionStatement", - "src": "15622:48:8" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6251, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6074, - "src": "15696:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6252, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6076, - "src": "15706:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6253, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6144, - "src": "15716:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6254, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 4764, - "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": 6250, - "name": "CloseIssue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4860, - "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": 6255, - "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": 6256, - "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": 6258, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6079, - "modifierName": { - "argumentTypes": null, - "id": 6078, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10724, - "src": "14225:13:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "14225:13:8" - } - ], - "name": "closeIssue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6077, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6074, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6258, - "src": "14182:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6073, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14182:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6076, - "name": "_mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6258, - "src": "14200:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6075, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14200:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14181:36:8" - }, - "returnParameters": { - "id": 6080, - "nodeType": "ParameterList", - "parameters": [], - "src": "14239:0:8" - }, - "scope": 6434, - "src": "14162:1579:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6270, - "nodeType": "Block", - "src": "15826:42:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6266, - "name": "myIssues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4740, - "src": "15843:8:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 6268, - "indexExpression": { - "argumentTypes": null, - "id": 6267, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6260, - "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": 6265, - "id": 6269, - "nodeType": "Return", - "src": "15836:25:8" - } - ] - }, - "documentation": null, - "functionSelector": "5d795bd2", - "id": 6271, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getIssuesByAddress", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6261, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6260, - "name": "_address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6271, - "src": "15775:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6259, - "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": 6265, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6264, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6271, - "src": "15809:16:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 6262, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15809:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6263, - "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": 6434, - "src": "15747:121:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6293, - "nodeType": "Block", - "src": "15943:136:8", - "statements": [ - { - "assignments": [ - 6279 - ], - "declarations": [ - { - "constant": false, - "id": 6279, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6293, - "src": "15953:19:8", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - }, - "typeName": { - "contractScope": null, - "id": 6278, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4807, - "src": "15953:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6283, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6280, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "15975:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 6282, - "indexExpression": { - "argumentTypes": null, - "id": 6281, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6273, - "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_$4807_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": 6287, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6279, - "src": "16041:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 6288, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 4801, - "src": "16041:20:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 6290, - "indexExpression": { - "argumentTypes": null, - "id": 6289, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6273, - "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": 6284, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6279, - "src": "16008:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 6285, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegatedByOthers", - "nodeType": "MemberAccess", - "referencedDeclaration": 4797, - "src": "16008:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7559, - "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": 6291, - "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": 6277, - "id": 6292, - "nodeType": "Return", - "src": "16001:71:8" - } - ] - }, - "documentation": null, - "functionSelector": "1e63c0a5", - "id": 6294, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getVotesByAddress", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6274, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6273, - "name": "_address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6294, - "src": "15901:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6272, - "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": 6277, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6276, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6294, - "src": "15935:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6275, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15935:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15934:9:8" - }, - "scope": 6434, - "src": "15874:205:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6339, - "nodeType": "Block", - "src": "16210:223:8", - "statements": [ - { - "assignments": [ - 6316 - ], - "declarations": [ - { - "constant": false, - "id": 6316, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6339, - "src": "16220:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue" - }, - "typeName": { - "contractScope": null, - "id": 6315, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4795, - "src": "16220:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_storage_ptr", - "typeString": "struct BEPRONetwork.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6320, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6317, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "16241:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6319, - "indexExpression": { - "argumentTypes": null, - "id": 6318, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6296, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16220:37:8" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6321, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6316, - "src": "16275:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6322, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 4772, - "src": "16275:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6323, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6316, - "src": "16286:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6324, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4776, - "src": "16286:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6325, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6316, - "src": "16305:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6326, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "creationDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 4774, - "src": "16305:18:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6327, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6316, - "src": "16325:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6328, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "issueGenerator", - "nodeType": "MemberAccess", - "referencedDeclaration": 4778, - "src": "16325:20:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6329, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6316, - "src": "16347:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6330, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForApprove", - "nodeType": "MemberAccess", - "referencedDeclaration": 4784, - "src": "16347:21:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6331, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6316, - "src": "16370:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6332, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 4790, - "src": "16370:22:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6333, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6316, - "src": "16394:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6334, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 4792, - "src": "16394:15:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6335, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6316, - "src": "16411:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6336, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "canceled", - "nodeType": "MemberAccess", - "referencedDeclaration": 4794, - "src": "16411:14:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 6337, - "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": 6314, - "id": 6338, - "nodeType": "Return", - "src": "16267:159:8" - } - ] - }, - "documentation": null, - "functionSelector": "c98244d0", - "id": 6340, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getIssueById", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6297, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6296, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6340, - "src": "16111:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6295, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16111:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16110:18:8" - }, - "returnParameters": { - "id": 6314, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6299, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6340, - "src": "16145:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6298, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16145:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6301, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6340, - "src": "16154:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6300, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16154:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6303, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6340, - "src": "16163:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6302, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16163:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6305, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6340, - "src": "16172:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6304, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16172:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6307, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6340, - "src": "16181:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6306, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16181:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6309, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6340, - "src": "16190:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6308, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16190:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6311, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6340, - "src": "16199:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6310, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "16199:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6313, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6340, - "src": "16205:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6312, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "16205:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16144:66:8" - }, - "scope": 6434, - "src": "16089:344:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6384, - "nodeType": "Block", - "src": "16584:203:8", - "statements": [ - { - "assignments": [ - 6362 - ], - "declarations": [ - { - "constant": false, - "id": 6362, - "name": "merge", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6384, - "src": "16594:26:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - }, - "typeName": { - "contractScope": null, - "id": 6361, - "name": "MergeProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4770, - "src": "16594:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6369, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6363, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "16623:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6365, - "indexExpression": { - "argumentTypes": null, - "id": 6364, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6342, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6366, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 4788, - "src": "16623:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$4770_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 6368, - "indexExpression": { - "argumentTypes": null, - "id": 6367, - "name": "_mergeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6344, - "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_$4770_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16594:70:8" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6370, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6362, - "src": "16682:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6371, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 4749, - "src": "16682:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6372, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6362, - "src": "16693:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6373, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 4759, - "src": "16693:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6374, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6362, - "src": "16706:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6375, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "disputes", - "nodeType": "MemberAccess", - "referencedDeclaration": 4761, - "src": "16706:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6376, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6362, - "src": "16722:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6377, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 4764, - "src": "16722:17:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6378, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6362, - "src": "16741:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6379, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAmounts", - "nodeType": "MemberAccess", - "referencedDeclaration": 4767, - "src": "16741:15:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6380, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6362, - "src": "16758:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6381, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "proposalAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 4769, - "src": "16758:21:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 6382, - "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": 6360, - "id": 6383, - "nodeType": "Return", - "src": "16674:106:8" - } - ] - }, - "documentation": null, - "functionSelector": "6106e4eb", - "id": 6385, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getMergeById", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6345, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6342, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6385, - "src": "16461:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6341, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16461:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6344, - "name": "_mergeId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6385, - "src": "16479:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6343, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16479:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16460:36:8" - }, - "returnParameters": { - "id": 6360, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6347, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6385, - "src": "16513:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6346, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16513:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6349, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6385, - "src": "16522:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6348, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16522:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6351, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6385, - "src": "16531:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6350, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16531:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6354, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6385, - "src": "16540:16:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 6352, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16540:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6353, - "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": 6357, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6385, - "src": "16558:16:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 6355, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16558:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6356, - "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": 6359, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6385, - "src": "16576:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6358, - "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": 6434, - "src": "16439:348:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6398, - "nodeType": "Block", - "src": "16924:50:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6392, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4686, - "src": "16934:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6394, - "name": "_newAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "16955:11:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6393, - "name": "_IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4677, - "src": "16947:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$__IERC20_$4677_$", - "typeString": "type(contract _IERC20)" - } - }, - "id": 6395, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16947:20:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "src": "16934:33:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "id": 6397, - "nodeType": "ExpressionStatement", - "src": "16934:33:8" - } - ] - }, - "documentation": "@dev Change BEPRO Token Address (Upgrade)", - "functionSelector": "5ac203cf", - "id": 6399, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6390, - "modifierName": { - "argumentTypes": null, - "id": 6389, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7294, - "src": "16914:9:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "16914:9:8" - } - ], - "name": "changeBEPROAddress", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6388, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6387, - "name": "_newAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6399, - "src": "16886:19:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6386, - "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": 6391, - "nodeType": "ParameterList", - "parameters": [], - "src": "16924:0:8" - }, - "scope": 6434, - "src": "16858:116:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6410, - "nodeType": "Block", - "src": "17088:41:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6408, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6406, - "name": "feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4701, - "src": "17098:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6407, - "name": "_newAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6401, - "src": "17111:11:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "17098:24:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6409, - "nodeType": "ExpressionStatement", - "src": "17098:24:8" - } - ] - }, - "documentation": "@dev Change Fee Address", - "functionSelector": "70c9c791", - "id": 6411, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6404, - "modifierName": { - "argumentTypes": null, - "id": 6403, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7294, - "src": "17078:9:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17078:9:8" - } - ], - "name": "editFeeAddress", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6402, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6401, - "name": "_newAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6411, - "src": "17050:19:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6400, - "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": 6405, - "nodeType": "ParameterList", - "parameters": [], - "src": "17088:0:8" - }, - "scope": 6434, - "src": "17026:103:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6422, - "nodeType": "Block", - "src": "17244:37:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6420, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6418, - "name": "feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4704, - "src": "17254:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6419, - "name": "_feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6413, - "src": "17265:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17254:20:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6421, - "nodeType": "ExpressionStatement", - "src": "17254:20:8" - } - ] - }, - "documentation": "@dev Change Share Fee Amount", - "functionSelector": "88632e28", - "id": 6423, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6416, - "modifierName": { - "argumentTypes": null, - "id": 6415, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7294, - "src": "17234:9:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17234:9:8" - } - ], - "name": "editFeeShare", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6414, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6413, - "name": "_feeShare", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6423, - "src": "17208:17:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6412, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17208:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17207:19:8" - }, - "returnParameters": { - "id": 6417, - "nodeType": "ParameterList", - "parameters": [], - "src": "17244:0:8" - }, - "scope": 6434, - "src": "17186:95:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6432, - "nodeType": "Block", - "src": "17415:28:8", - "statements": [] - }, - "documentation": "@dev Upgrade Contract Version", - "functionSelector": "eb2c0223", - "id": 6433, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6428, - "modifierName": { - "argumentTypes": null, - "id": 6427, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7294, - "src": "17394:9:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17394:9:8" - }, - { - "arguments": null, - "id": 6430, - "modifierName": { - "argumentTypes": null, - "id": 6429, - "name": "whenPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10734, - "src": "17404:10:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17404:10:8" - } - ], - "name": "upgradeContract", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6426, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6425, - "name": "_newContract", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6433, - "src": "17365:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6424, - "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": 6431, - "nodeType": "ParameterList", - "parameters": [], - "src": "17415:0:8" - }, - "scope": 6434, - "src": "17340:103:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - } - ], - "scope": 6435, - "src": "511:16934:8" - } - ], - "src": "0:17446:8" - }, - "legacyAST": { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/bepro/Network.sol", - "exportedSymbols": { - "BEPRONetwork": [ - 6434 - ], - "_IERC20": [ - 4677 - ] - }, - "id": 6435, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4657, - "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": 4658, - "nodeType": "ImportDirective", - "scope": 6435, - "sourceUnit": 8210, - "src": "26:55:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Pausable.sol", - "file": "@openzeppelin/contracts/utils/Pausable.sol", - "id": 4659, - "nodeType": "ImportDirective", - "scope": 6435, - "sourceUnit": 10766, - "src": "82:52:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Ownable.sol", - "file": "../utils/Ownable.sol", - "id": 4660, - "nodeType": "ImportDirective", - "scope": 6435, - "sourceUnit": 7322, - "src": "135:30:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 4661, - "name": "IERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8278, - "src": "251:6:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$8278", - "typeString": "contract IERC20" - } - }, - "id": 4662, - "nodeType": "InheritanceSpecifier", - "src": "251:6:8" - } - ], - "contractDependencies": [ - 8278 - ], - "contractKind": "interface", - "documentation": "@dev Interface of the ERC20 standard + mint & burn", - "fullyImplemented": false, - "id": 4677, - "linearizedBaseContracts": [ - 4677, - 8278 - ], - "name": "_IERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": "@dev Mint Function", - "functionSelector": "40c10f19", - "id": 4669, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4667, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4664, - "name": "account", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4669, - "src": "320:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4663, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "320:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4666, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4669, - "src": "337:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4665, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "337:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "319:33:8" - }, - "returnParameters": { - "id": 4668, - "nodeType": "ParameterList", - "parameters": [], - "src": "361:0:8" - }, - "scope": 4677, - "src": "306:56:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Burn Function", - "functionSelector": "9dc29fac", - "id": 4676, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4674, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4671, - "name": "account", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4676, - "src": "422:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4670, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "422:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4673, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4676, - "src": "439:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4672, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "439:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "421:33:8" - }, - "returnParameters": { - "id": 4675, - "nodeType": "ParameterList", - "parameters": [], - "src": "463:0:8" - }, - "scope": 4677, - "src": "408:56:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6435, - "src": "230:237:8" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 4678, - "name": "Pausable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10765, - "src": "536:8:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Pausable_$10765", - "typeString": "contract Pausable" - } - }, - "id": 4679, - "nodeType": "InheritanceSpecifier", - "src": "536:8:8" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 4680, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7321, - "src": "546:7:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$7321", - "typeString": "contract Ownable" - } - }, - "id": 4681, - "nodeType": "InheritanceSpecifier", - "src": "546:7:8" - } - ], - "contractDependencies": [ - 7321, - 9668, - 10765 - ], - "contractKind": "contract", - "documentation": "@title BEPRO Network Contract", - "fullyImplemented": true, - "id": 6434, - "linearizedBaseContracts": [ - 6434, - 7321, - 10765, - 9668 - ], - "name": "BEPRONetwork", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 4684, - "libraryName": { - "contractScope": null, - "id": 4682, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7725, - "src": "565:8:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$7725", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "559:27:8", - "typeName": { - "id": 4683, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "578:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "functionSelector": "e113e452", - "id": 4686, - "name": "beproToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "592:25:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - }, - "typeName": { - "contractScope": null, - "id": 4685, - "name": "_IERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4677, - "src": "592:7:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": true, - "id": 4689, - "name": "year", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "624:40:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4687, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "624:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "333635", - "id": 4688, - "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": 4692, - "name": "incrementIssueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "670:35:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4690, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "670:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31", - "id": 4691, - "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": 4695, - "name": "closedIdsCount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "711:33:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4693, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "711:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 4694, - "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": 4698, - "name": "totalStaked", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "750:30:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4696, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "750:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 4697, - "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": 4701, - "name": "feeAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "786:70:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4699, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "786:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307843463343384265326532433432333331446138304546323130653942316233303743303364333641", - "id": 4700, - "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": 4704, - "name": "feeShare", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "862:27:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4702, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "862:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "32", - "id": 4703, - "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": 4707, - "name": "mergeCreatorFeeShare", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "939:39:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4705, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "939:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31", - "id": 4706, - "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": 4710, - "name": "percentageNeededForApprove", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "1035:46:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4708, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1035:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3130", - "id": 4709, - "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": 4713, - "name": "percentageNeededForDispute", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "1153:45:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4711, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1153:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "33", - "id": 4712, - "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": 4716, - "name": "timeOpenForIssueApprove", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "1270:56:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4714, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1270:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "33", - "id": 4715, - "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": 4719, - "name": "percentageNeededForMerge", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "1332:44:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4717, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1332:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3230", - "id": 4718, - "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": 4722, - "name": "beproVotesStaked", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "1448:35:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4720, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1448:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 4721, - "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": 4725, - "name": "COUNCIL_BEPRO_AMOUNT", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "1490:46:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4723, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1490:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3130303030303030", - "id": 4724, - "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": 4728, - "name": "OPERATOR_BEPRO_AMOUNT", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "1549:46:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4726, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1549:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31303030303030", - "id": 4727, - "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": 4731, - "name": "DEVELOPER_BEPRO_AMOUNT", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "1607:45:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4729, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1607:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3130303030", - "id": 4730, - "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": 4735, - "name": "issues", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "1666:39:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue)" - }, - "typeName": { - "id": 4734, - "keyType": { - "id": 4732, - "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_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue)" - }, - "valueType": { - "contractScope": null, - "id": 4733, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4795, - "src": "1685:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_storage_ptr", - "typeString": "struct BEPRONetwork.Issue" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "1ac63d92", - "id": 4740, - "name": "myIssues", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "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": 4739, - "keyType": { - "id": 4736, - "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": 4737, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1756:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4738, - "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": 4744, - "name": "voters", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "1821:39:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter)" - }, - "typeName": { - "id": 4743, - "keyType": { - "id": 4741, - "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_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter)" - }, - "valueType": { - "contractScope": null, - "id": 4742, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4807, - "src": "1840:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "53da4247", - "id": 4747, - "name": "votersArray", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6434, - "src": "1867:28:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 4745, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1867:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4746, - "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": 4770, - "members": [ - { - "constant": false, - "id": 4749, - "name": "_id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4770, - "src": "1935:11:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4748, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1935:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4753, - "name": "votesForMergeByAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4770, - "src": "1956:50:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 4752, - "keyType": { - "id": 4750, - "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": 4751, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1975:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4757, - "name": "disputesForMergeByAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4770, - "src": "2051:53:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 4756, - "keyType": { - "id": 4754, - "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": 4755, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2070:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4759, - "name": "votes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4770, - "src": "2149:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4758, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2149:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4761, - "name": "disputes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4770, - "src": "2195:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4760, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2195:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4764, - "name": "prAddresses", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4770, - "src": "2244:21:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 4762, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2244:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4763, - "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": 4767, - "name": "prAmounts", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4770, - "src": "2275:19:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 4765, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2275:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4766, - "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": 4769, - "name": "proposalAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4770, - "src": "2304:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4768, - "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": 6434, - "src": "1904:430:8", - "visibility": "public" - }, - { - "canonicalName": "BEPRONetwork.Issue", - "id": 4795, - "members": [ - { - "constant": false, - "id": 4772, - "name": "_id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4795, - "src": "2363:11:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4771, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2363:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4774, - "name": "creationDate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4795, - "src": "2384:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4773, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2384:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4776, - "name": "beproStaked", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4795, - "src": "2414:19:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4775, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2414:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4778, - "name": "issueGenerator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4795, - "src": "2443:22:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4777, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2443:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4782, - "name": "votesForApproveByAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4795, - "src": "2475:52:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 4781, - "keyType": { - "id": 4779, - "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": 4780, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2494:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4784, - "name": "votesForApprove", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4795, - "src": "2537:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4783, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2537:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4788, - "name": "mergeProposals", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4795, - "src": "2570:48:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$4770_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal)" - }, - "typeName": { - "id": 4787, - "keyType": { - "id": 4785, - "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_$4770_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal)" - }, - "valueType": { - "contractScope": null, - "id": 4786, - "name": "MergeProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4770, - "src": "2589:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4790, - "name": "mergeIDIncrement", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4795, - "src": "2652:24:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4789, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2652:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4792, - "name": "finalized", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4795, - "src": "2686:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4791, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2686:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4794, - "name": "canceled", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4795, - "src": "2710:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4793, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2710:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Issue", - "nodeType": "StructDefinition", - "scope": 6434, - "src": "2340:390:8", - "visibility": "public" - }, - { - "canonicalName": "BEPRONetwork.Voter", - "id": 4807, - "members": [ - { - "constant": false, - "id": 4797, - "name": "votesDelegatedByOthers", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4807, - "src": "2759:30:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4796, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2759:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4801, - "name": "votesDelegated", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4807, - "src": "2799:42:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 4800, - "keyType": { - "id": 4798, - "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": 4799, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2818:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4804, - "name": "delegatedVotesAddresses", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4807, - "src": "2851:33:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 4802, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2851:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4803, - "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": 4806, - "name": "beproLocked", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4807, - "src": "2894:19:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4805, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2894:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Voter", - "nodeType": "StructDefinition", - "scope": 6434, - "src": "2736:184:8", - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 4815, - "name": "OpenIssue", - "nodeType": "EventDefinition", - "parameters": { - "id": 4814, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4809, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4815, - "src": "2942:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4808, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2942:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4811, - "indexed": true, - "name": "opener", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4815, - "src": "2962:22:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4810, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2962:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4813, - "indexed": true, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4815, - "src": "2986:22:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4812, - "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": 4823, - "name": "ApproveIssue", - "nodeType": "EventDefinition", - "parameters": { - "id": 4822, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4817, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4823, - "src": "3034:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4816, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3034:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4819, - "indexed": true, - "name": "votes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4823, - "src": "3054:21:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4818, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3054:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4821, - "indexed": true, - "name": "approver", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4823, - "src": "3077:24:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4820, - "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": 4831, - "name": "MergeProposalCreated", - "nodeType": "EventDefinition", - "parameters": { - "id": 4830, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4825, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4831, - "src": "3135:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4824, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3135:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4827, - "indexed": true, - "name": "mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4831, - "src": "3155:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4826, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3155:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4829, - "indexed": true, - "name": "creator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4831, - "src": "3180:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4828, - "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": 4841, - "name": "DisputeMerge", - "nodeType": "EventDefinition", - "parameters": { - "id": 4840, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4833, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4841, - "src": "3229:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4832, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3229:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4835, - "indexed": true, - "name": "mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4841, - "src": "3249:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4834, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3249:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4837, - "indexed": false, - "name": "votes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4841, - "src": "3274:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4836, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3274:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4839, - "indexed": true, - "name": "disputer", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4841, - "src": "3289:24:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4838, - "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": 4851, - "name": "ApproveMerge", - "nodeType": "EventDefinition", - "parameters": { - "id": 4850, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4843, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4851, - "src": "3339:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4842, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3339:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4845, - "indexed": true, - "name": "mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4851, - "src": "3359:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4844, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3359:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4847, - "indexed": false, - "name": "votes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4851, - "src": "3384:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4846, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3384:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4849, - "indexed": true, - "name": "approver", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4851, - "src": "3399:24:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4848, - "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": 4860, - "name": "CloseIssue", - "nodeType": "EventDefinition", - "parameters": { - "id": 4859, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4853, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4860, - "src": "3447:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4852, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3447:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4855, - "indexed": true, - "name": "mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4860, - "src": "3467:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4854, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3467:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4858, - "indexed": true, - "name": "addresses", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4860, - "src": "3492:27:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 4856, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3492:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4857, - "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": 4871, - "nodeType": "Block", - "src": "3569:53:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 4869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4865, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4686, - "src": "3580:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4867, - "name": "_tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4862, - "src": "3601:13:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4866, - "name": "_IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4677, - "src": "3593:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$__IERC20_$4677_$", - "typeString": "type(contract _IERC20)" - } - }, - "id": 4868, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3593:22:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "src": "3580:35:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "id": 4870, - "nodeType": "ExpressionStatement", - "src": "3580:35:8" - } - ] - }, - "documentation": null, - "id": 4872, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4863, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4862, - "name": "_tokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4872, - "src": "3539:21:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4861, - "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": 4864, - "nodeType": "ParameterList", - "parameters": [], - "src": "3569:0:8" - }, - "scope": 6434, - "src": "3527:95:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4981, - "nodeType": "Block", - "src": "3676:791:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4880, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4878, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4874, - "src": "3694:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4879, - "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": 4881, - "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": 4877, - "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": 4882, - "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": 4883, - "nodeType": "ExpressionStatement", - "src": "3686:64:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4887, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3792:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4888, - "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": 4891, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "3812:4:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BEPRONetwork_$6434", - "typeString": "contract BEPRONetwork" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_BEPRONetwork_$6434", - "typeString": "contract BEPRONetwork" - } - ], - "id": 4890, - "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": 4889, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3804:7:8", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 4892, - "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": 4893, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4874, - "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": 4885, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4686, - "src": "3768:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "id": 4886, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 8261, - "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": 4894, - "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": 4895, - "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": 4884, - "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": 4896, - "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": 4897, - "nodeType": "ExpressionStatement", - "src": "3760:92:8" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4904, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4898, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "3866:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 4901, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4899, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3873:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4900, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 4902, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4806, - "src": "3866:30:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4903, - "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": 4979, - "nodeType": "Block", - "src": "4159:302:8", - "statements": [ - { - "assignments": [ - 4943 - ], - "declarations": [ - { - "constant": false, - "id": 4943, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4979, - "src": "4203:19:8", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - }, - "typeName": { - "contractScope": null, - "id": 4942, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4807, - "src": "4203:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4948, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4944, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "4225:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 4947, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4945, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4232:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4946, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4203:40:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 4953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4949, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4943, - "src": "4257:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 4951, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4806, - "src": "4257:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4952, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4874, - "src": "4277:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4257:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4954, - "nodeType": "ExpressionStatement", - "src": "4257:32:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 4961, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4955, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4943, - "src": "4303:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 4957, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "delegatedVotesAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 4804, - "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": 4958, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4336:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4959, - "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": 4960, - "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": 4962, - "nodeType": "ExpressionStatement", - "src": "4303:44:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 4970, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4963, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4943, - "src": "4361:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 4967, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 4801, - "src": "4361:20:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 4968, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4965, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4382:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4966, - "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": 4969, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4874, - "src": "4396:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4361:47:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4971, - "nodeType": "ExpressionStatement", - "src": "4361:47:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4975, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4439:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4976, - "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": 4972, - "name": "votersArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4747, - "src": "4422:11:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 4974, - "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": 4977, - "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": 4978, - "nodeType": "ExpressionStatement", - "src": "4422:28:8" - } - ] - }, - "id": 4980, - "nodeType": "IfStatement", - "src": "3863:598:8", - "trueBody": { - "id": 4941, - "nodeType": "Block", - "src": "3902:253:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 4924, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4905, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "3938:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 4908, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4906, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3945:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4907, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 4909, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 4801, - "src": "3938:33:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 4912, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4910, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3972:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4911, - "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": 4922, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4874, - "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": 4913, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "3986:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 4916, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4914, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3993:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4915, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 4917, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 4801, - "src": "3986:33:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 4920, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4918, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4020:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4919, - "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": 4921, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7559, - "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": 4923, - "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": 4925, - "nodeType": "ExpressionStatement", - "src": "3938:111:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 4939, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4926, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "4063:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 4929, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4927, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4070:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4928, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 4930, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4806, - "src": "4063:30:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4937, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4874, - "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": 4931, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "4096:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 4934, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4932, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4103:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4933, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 4935, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4806, - "src": "4096:30:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4936, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7559, - "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": 4938, - "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": 4940, - "nodeType": "ExpressionStatement", - "src": "4063:81:8" - } - ] - } - } - ] - }, - "documentation": null, - "functionSelector": "9816c170", - "id": 4982, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "lockBepro", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4875, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4874, - "name": "_beproAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4982, - "src": "3647:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4873, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3647:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3646:22:8" - }, - "returnParameters": { - "id": 4876, - "nodeType": "ParameterList", - "parameters": [], - "src": "3676:0:8" - }, - "scope": 6434, - "src": "3628:839:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5077, - "nodeType": "Block", - "src": "4538:697:8", - "statements": [ - { - "assignments": [ - 4990 - ], - "declarations": [ - { - "constant": false, - "id": 4990, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5077, - "src": "4548:19:8", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - }, - "typeName": { - "contractScope": null, - "id": 4989, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4807, - "src": "4548:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4995, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4991, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "4570:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 4994, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4992, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4577:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4993, - "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_$4807_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": 5000, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4997, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4990, - "src": "4606:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 4998, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4806, - "src": "4606:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 4999, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4984, - "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": 5001, - "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": 4996, - "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": 5002, - "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": 5003, - "nodeType": "ExpressionStatement", - "src": "4598:73:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5010, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5005, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4990, - "src": "4689:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5006, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 4801, - "src": "4689:20:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5008, - "indexExpression": { - "argumentTypes": null, - "id": 5007, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4986, - "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": 5009, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4984, - "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": 5011, - "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": 5004, - "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": 5012, - "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": 5013, - "nodeType": "ExpressionStatement", - "src": "4681:88:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5024, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5014, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "4780:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5017, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5015, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4787:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5016, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5018, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4806, - "src": "4780:30:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5022, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4984, - "src": "4835:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5019, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4990, - "src": "4813:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5020, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4806, - "src": "4813:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5021, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7580, - "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": 5023, - "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": 5025, - "nodeType": "ExpressionStatement", - "src": "4780:68:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5040, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5026, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "4858:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5029, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5027, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4865:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5028, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5030, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 4801, - "src": "4858:33:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5032, - "indexExpression": { - "argumentTypes": null, - "id": 5031, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4986, - "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": 5038, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4984, - "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": 5033, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4990, - "src": "4901:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5034, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 4801, - "src": "4901:20:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5036, - "indexExpression": { - "argumentTypes": null, - "id": 5035, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4986, - "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": 5037, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7580, - "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": 5039, - "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": 5041, - "nodeType": "ExpressionStatement", - "src": "4858:88:8" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5045, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5042, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4959:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5043, - "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": 5044, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4986, - "src": "4973:5:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "4959:19:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5060, - "nodeType": "IfStatement", - "src": "4956:141:8", - "trueBody": { - "id": 5059, - "nodeType": "Block", - "src": "4979:118:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5057, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5046, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "4993:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5048, - "indexExpression": { - "argumentTypes": null, - "id": 5047, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4986, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5049, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "votesDelegatedByOthers", - "nodeType": "MemberAccess", - "referencedDeclaration": 4797, - "src": "4993:36:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5055, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4984, - "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": 5050, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "5032:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5052, - "indexExpression": { - "argumentTypes": null, - "id": 5051, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4986, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5053, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegatedByOthers", - "nodeType": "MemberAccess", - "referencedDeclaration": 4797, - "src": "5032:36:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5054, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7580, - "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": 5056, - "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": 5058, - "nodeType": "ExpressionStatement", - "src": "4993:93:8" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5064, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5135:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5065, - "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": 5066, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4984, - "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": 5062, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4686, - "src": "5115:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "id": 5063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 8232, - "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": 5067, - "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": 5068, - "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": 5061, - "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": 5069, - "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": 5070, - "nodeType": "ExpressionStatement", - "src": "5107:77:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5074, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4984, - "src": "5215:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5071, - "name": "beproVotesStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4722, - "src": "5194:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5073, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7580, - "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": 5075, - "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": 5076, - "nodeType": "ExpressionStatement", - "src": "5194:34:8" - } - ] - }, - "documentation": null, - "functionSelector": "f38b79b7", - "id": 5078, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "unlockBepro", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4987, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4984, - "name": "_beproAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5078, - "src": "4494:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4983, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4494:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4986, - "name": "_from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5078, - "src": "4516:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4985, - "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": 4988, - "nodeType": "ParameterList", - "parameters": [], - "src": "4538:0:8" - }, - "scope": 6434, - "src": "4473:762:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5189, - "nodeType": "Block", - "src": "5319:849:8", - "statements": [ - { - "assignments": [ - 5086 - ], - "declarations": [ - { - "constant": false, - "id": 5086, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5189, - "src": "5329:19:8", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - }, - "typeName": { - "contractScope": null, - "id": 5085, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4807, - "src": "5329:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5091, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5087, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "5351:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5090, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5088, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5358:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5089, - "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_$4807_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": 5098, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5093, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5082, - "src": "5388:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5096, - "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": 5095, - "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": 5094, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5404:7:8", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5097, - "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": 5099, - "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": 5092, - "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": 5100, - "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": 5101, - "nodeType": "ExpressionStatement", - "src": "5380:74:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5106, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5103, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5082, - "src": "5472:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5104, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5488:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5105, - "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": 5107, - "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": 5102, - "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": 5108, - "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": 5109, - "nodeType": "ExpressionStatement", - "src": "5464:64:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5114, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5111, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5086, - "src": "5547:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5112, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4806, - "src": "5547:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 5113, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "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": 5115, - "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": 5110, - "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": 5116, - "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": 5117, - "nodeType": "ExpressionStatement", - "src": "5539:73:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5125, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5119, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5086, - "src": "5630:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5120, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 4801, - "src": "5630:20:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5123, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5121, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5651:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5122, - "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": 5124, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "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": 5126, - "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": 5118, - "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": 5127, - "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": 5128, - "nodeType": "ExpressionStatement", - "src": "5622:93:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5145, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5129, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "5726:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5132, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5130, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5733:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5131, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5133, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 4801, - "src": "5726:33:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5136, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5134, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5760:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5135, - "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": 5143, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "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": 5137, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5086, - "src": "5774:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5138, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 4801, - "src": "5774:20:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5141, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5139, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5795:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5140, - "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": 5142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7580, - "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": 5144, - "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": 5146, - "nodeType": "ExpressionStatement", - "src": "5726:98:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5147, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "5834:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5150, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5148, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5841:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5149, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5151, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 4801, - "src": "5834:33:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5153, - "indexExpression": { - "argumentTypes": null, - "id": 5152, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5082, - "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": 5159, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "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": 5154, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5086, - "src": "5884:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5155, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 4801, - "src": "5884:20:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5157, - "indexExpression": { - "argumentTypes": null, - "id": 5156, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5082, - "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": 5158, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7559, - "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": 5160, - "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": 5162, - "nodeType": "ExpressionStatement", - "src": "5834:102:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5172, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5164, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "5955:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5166, - "indexExpression": { - "argumentTypes": null, - "id": 5165, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5082, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5167, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4806, - "src": "5955:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5170, - "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": 5169, - "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": 5168, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5991:7:8", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5171, - "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": 5173, - "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": 5163, - "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": 5174, - "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": 5175, - "nodeType": "ExpressionStatement", - "src": "5947:97:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5187, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5176, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "6054:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5178, - "indexExpression": { - "argumentTypes": null, - "id": 5177, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5082, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5179, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "votesDelegatedByOthers", - "nodeType": "MemberAccess", - "referencedDeclaration": 4797, - "src": "6054:43:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5185, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5080, - "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": 5180, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "6100:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5182, - "indexExpression": { - "argumentTypes": null, - "id": 5181, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5082, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5183, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegatedByOthers", - "nodeType": "MemberAccess", - "referencedDeclaration": 4797, - "src": "6100:43:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7559, - "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": 5186, - "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": 5188, - "nodeType": "ExpressionStatement", - "src": "6054:107:8" - } - ] - }, - "documentation": null, - "id": 5190, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "delegateOracles", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5083, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5080, - "name": "_beproAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5190, - "src": "5266:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5079, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5266:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5082, - "name": "_delegatedTo", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5190, - "src": "5288:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5081, - "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": 5084, - "nodeType": "ParameterList", - "parameters": [], - "src": "5319:0:8" - }, - "scope": 6434, - "src": "5241:927:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5272, - "nodeType": "Block", - "src": "6221:596:8", - "statements": [ - { - "assignments": [ - 5196 - ], - "declarations": [ - { - "constant": false, - "id": 5196, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5272, - "src": "6231:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_memory_ptr", - "typeString": "struct BEPRONetwork.Voter" - }, - "typeName": { - "contractScope": null, - "id": 5195, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4807, - "src": "6231:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5201, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5197, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "6252:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5200, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5198, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6259:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5199, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6231:39:8" - }, - { - "assignments": [ - 5203 - ], - "declarations": [ - { - "constant": false, - "id": 5203, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5272, - "src": "6280:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue" - }, - "typeName": { - "contractScope": null, - "id": 5202, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4795, - "src": "6280:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_storage_ptr", - "typeString": "struct BEPRONetwork.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5207, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5204, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "6301:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5206, - "indexExpression": { - "argumentTypes": null, - "id": 5205, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5192, - "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_$4795_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": 5212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5209, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5203, - "src": "6335:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5210, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 4772, - "src": "6335:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5211, - "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": 5213, - "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": 5208, - "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": 5214, - "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": 5215, - "nodeType": "ExpressionStatement", - "src": "6327:47:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5218, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5192, - "src": "6410:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5217, - "name": "isIssueApprovable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5491, - "src": "6392:17:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 5219, - "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": 5216, - "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": 5220, - "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": 5221, - "nodeType": "ExpressionStatement", - "src": "6384:36:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5231, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5223, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "6438:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5225, - "indexExpression": { - "argumentTypes": null, - "id": 5224, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5192, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5226, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForApproveByAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 4782, - "src": "6438:41:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5229, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5227, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6480:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5228, - "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": 5230, - "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": 5232, - "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": 5222, - "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": 5233, - "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": 5234, - "nodeType": "ExpressionStatement", - "src": "6430:88:8" - }, - { - "assignments": [ - 5236 - ], - "declarations": [ - { - "constant": false, - "id": 5236, - "name": "votesToAdd", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5272, - "src": "6529:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5235, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6529:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5241, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5238, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6568:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5239, - "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": 5237, - "name": "getVotesByAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6294, - "src": "6550:17:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) returns (uint256)" - } - }, - "id": 5240, - "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": 5253, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5242, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "6589:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5244, - "indexExpression": { - "argumentTypes": null, - "id": 5243, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5192, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5245, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "votesForApprove", - "nodeType": "MemberAccess", - "referencedDeclaration": 4784, - "src": "6589:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5251, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5236, - "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": 5246, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "6624:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5248, - "indexExpression": { - "argumentTypes": null, - "id": 5247, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5192, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5249, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForApprove", - "nodeType": "MemberAccess", - "referencedDeclaration": 4784, - "src": "6624:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5250, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7559, - "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": 5252, - "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": 5254, - "nodeType": "ExpressionStatement", - "src": "6589:83:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5255, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "6682:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5257, - "indexExpression": { - "argumentTypes": null, - "id": 5256, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5192, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5258, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForApproveByAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 4782, - "src": "6682:41:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5261, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5259, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6724:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5260, - "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": 5262, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5236, - "src": "6738:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6682:66:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5264, - "nodeType": "ExpressionStatement", - "src": "6682:66:8" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5266, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5192, - "src": "6777:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5267, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5236, - "src": "6787:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5268, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6799:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5269, - "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": 5265, - "name": "ApproveIssue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4823, - "src": "6764:12:8", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,uint256,address)" - } - }, - "id": 5270, - "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": 5271, - "nodeType": "EmitStatement", - "src": "6759:51:8" - } - ] - }, - "documentation": null, - "functionSelector": "56036543", - "id": 5273, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approveIssue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5193, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5192, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5273, - "src": "6196:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5191, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6196:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6195:18:8" - }, - "returnParameters": { - "id": 5194, - "nodeType": "ParameterList", - "parameters": [], - "src": "6221:0:8" - }, - "scope": 6434, - "src": "6174:643:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5371, - "nodeType": "Block", - "src": "6888:748:8", - "statements": [ - { - "assignments": [ - 5281 - ], - "declarations": [ - { - "constant": false, - "id": 5281, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5371, - "src": "6898:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_memory_ptr", - "typeString": "struct BEPRONetwork.Voter" - }, - "typeName": { - "contractScope": null, - "id": 5280, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4807, - "src": "6898:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5286, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5282, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "6919:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5285, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5283, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6926:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5284, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6898:39:8" - }, - { - "assignments": [ - 5288 - ], - "declarations": [ - { - "constant": false, - "id": 5288, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5371, - "src": "6947:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue" - }, - "typeName": { - "contractScope": null, - "id": 5287, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4795, - "src": "6947:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_storage_ptr", - "typeString": "struct BEPRONetwork.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5292, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5289, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "6968:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5291, - "indexExpression": { - "argumentTypes": null, - "id": 5290, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5275, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6947:37:8" - }, - { - "assignments": [ - 5294 - ], - "declarations": [ - { - "constant": false, - "id": 5294, - "name": "merge", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5371, - "src": "6994:27:8", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - }, - "typeName": { - "contractScope": null, - "id": 5293, - "name": "MergeProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4770, - "src": "6994:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5301, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5295, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "7024:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5297, - "indexExpression": { - "argumentTypes": null, - "id": 5296, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5275, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5298, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 4788, - "src": "7024:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$4770_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 5300, - "indexExpression": { - "argumentTypes": null, - "id": 5299, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5277, - "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_$4770_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": 5306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5303, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5288, - "src": "7083:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5304, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 4772, - "src": "7083:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5305, - "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": 5307, - "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": 5302, - "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": 5308, - "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": 5309, - "nodeType": "ExpressionStatement", - "src": "7075:47:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5311, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5288, - "src": "7140:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5312, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 4790, - "src": "7140:22:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 5313, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5277, - "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": 5315, - "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": 5310, - "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": 5316, - "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": 5317, - "nodeType": "ExpressionStatement", - "src": "7132:76:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5319, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5294, - "src": "7226:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal storage pointer" - } - }, - "id": 5320, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForMergeByAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 4753, - "src": "7226:28:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5323, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5321, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7255:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5322, - "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": 5324, - "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": 5326, - "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": 5318, - "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": 5327, - "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": 5328, - "nodeType": "ExpressionStatement", - "src": "7218:75:8" - }, - { - "assignments": [ - 5330 - ], - "declarations": [ - { - "constant": false, - "id": 5330, - "name": "votesToAdd", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5371, - "src": "7304:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5329, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7304:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5335, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5332, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7343:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5333, - "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": 5331, - "name": "getVotesByAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6294, - "src": "7325:17:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) returns (uint256)" - } - }, - "id": 5334, - "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": 5348, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5336, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "7373:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5338, - "indexExpression": { - "argumentTypes": null, - "id": 5337, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5275, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5339, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 4788, - "src": "7373:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$4770_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 5341, - "indexExpression": { - "argumentTypes": null, - "id": 5340, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5277, - "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_$4770_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 5342, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 4759, - "src": "7373:47:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5346, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5330, - "src": "7439:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5343, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5294, - "src": "7423:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal storage pointer" - } - }, - "id": 5344, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 4759, - "src": "7423:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7559, - "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": 5347, - "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": 5349, - "nodeType": "ExpressionStatement", - "src": "7373:77:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5361, - "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": 5350, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "7460:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5352, - "indexExpression": { - "argumentTypes": null, - "id": 5351, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5275, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5353, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 4788, - "src": "7460:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$4770_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 5355, - "indexExpression": { - "argumentTypes": null, - "id": 5354, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5277, - "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_$4770_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 5356, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForMergeByAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 4753, - "src": "7460:64:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5359, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5357, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7525:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5358, - "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": 5360, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5330, - "src": "7539:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7460:89:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5362, - "nodeType": "ExpressionStatement", - "src": "7460:89:8" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5364, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5275, - "src": "7586:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5365, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5277, - "src": "7596:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5366, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5330, - "src": "7606:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5367, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7618:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5368, - "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": 5363, - "name": "ApproveMerge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4851, - "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": 5369, - "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": 5370, - "nodeType": "EmitStatement", - "src": "7568:61:8" - } - ] - }, - "documentation": null, - "functionSelector": "953030c5", - "id": 5372, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approveMerge", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5278, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5275, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5372, - "src": "6845:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5274, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6845:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5277, - "name": "_mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5372, - "src": "6863:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5276, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6863:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6844:36:8" - }, - "returnParameters": { - "id": 5279, - "nodeType": "ParameterList", - "parameters": [], - "src": "6888:0:8" - }, - "scope": 6434, - "src": "6823:813:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5470, - "nodeType": "Block", - "src": "7707:760:8", - "statements": [ - { - "assignments": [ - 5380 - ], - "declarations": [ - { - "constant": false, - "id": 5380, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5470, - "src": "7717:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_memory_ptr", - "typeString": "struct BEPRONetwork.Voter" - }, - "typeName": { - "contractScope": null, - "id": 5379, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4807, - "src": "7717:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5385, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5381, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "7738:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5384, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5382, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7745:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5383, - "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_$4807_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7717:39:8" - }, - { - "assignments": [ - 5387 - ], - "declarations": [ - { - "constant": false, - "id": 5387, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5470, - "src": "7766:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue" - }, - "typeName": { - "contractScope": null, - "id": 5386, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4795, - "src": "7766:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_storage_ptr", - "typeString": "struct BEPRONetwork.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5391, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5388, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "7787:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5390, - "indexExpression": { - "argumentTypes": null, - "id": 5389, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5374, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7766:37:8" - }, - { - "assignments": [ - 5393 - ], - "declarations": [ - { - "constant": false, - "id": 5393, - "name": "merge", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5470, - "src": "7813:27:8", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - }, - "typeName": { - "contractScope": null, - "id": 5392, - "name": "MergeProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4770, - "src": "7813:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5400, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5394, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "7843:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5396, - "indexExpression": { - "argumentTypes": null, - "id": 5395, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5374, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5397, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 4788, - "src": "7843:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$4770_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 5399, - "indexExpression": { - "argumentTypes": null, - "id": 5398, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5376, - "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_$4770_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": 5405, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5402, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5387, - "src": "7902:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5403, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 4772, - "src": "7902:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5404, - "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": 5406, - "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": 5401, - "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": 5407, - "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": 5408, - "nodeType": "ExpressionStatement", - "src": "7894:47:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5413, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5410, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5387, - "src": "7959:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5411, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 4790, - "src": "7959:22:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 5412, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5376, - "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": 5414, - "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": 5409, - "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": 5415, - "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": 5416, - "nodeType": "ExpressionStatement", - "src": "7951:76:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5418, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5393, - "src": "8045:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal storage pointer" - } - }, - "id": 5419, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "disputesForMergeByAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 4757, - "src": "8045:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5422, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5420, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8077:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5421, - "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": 5423, - "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": 5425, - "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": 5417, - "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": 5426, - "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": 5427, - "nodeType": "ExpressionStatement", - "src": "8037:78:8" - }, - { - "assignments": [ - 5429 - ], - "declarations": [ - { - "constant": false, - "id": 5429, - "name": "votesToAdd", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5470, - "src": "8126:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5428, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8126:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5434, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5431, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8165:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5432, - "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": 5430, - "name": "getVotesByAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6294, - "src": "8147:17:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) returns (uint256)" - } - }, - "id": 5433, - "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": 5447, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5435, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "8195:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5437, - "indexExpression": { - "argumentTypes": null, - "id": 5436, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5374, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5438, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 4788, - "src": "8195:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$4770_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 5440, - "indexExpression": { - "argumentTypes": null, - "id": 5439, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5376, - "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_$4770_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 5441, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "disputes", - "nodeType": "MemberAccess", - "referencedDeclaration": 4761, - "src": "8195:50:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5445, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5429, - "src": "8267:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5442, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5393, - "src": "8248:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal storage pointer" - } - }, - "id": 5443, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "disputes", - "nodeType": "MemberAccess", - "referencedDeclaration": 4761, - "src": "8248:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5444, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7559, - "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": 5446, - "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": 5448, - "nodeType": "ExpressionStatement", - "src": "8195:83:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5460, - "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": 5449, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "8288:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5451, - "indexExpression": { - "argumentTypes": null, - "id": 5450, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5374, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5452, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 4788, - "src": "8288:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$4770_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 5454, - "indexExpression": { - "argumentTypes": null, - "id": 5453, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5376, - "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_$4770_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 5455, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "disputesForMergeByAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 4757, - "src": "8288:67:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5458, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5456, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8356:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5457, - "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": 5459, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5429, - "src": "8370:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8288:92:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5461, - "nodeType": "ExpressionStatement", - "src": "8288:92:8" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5463, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5374, - "src": "8417:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5464, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5376, - "src": "8427:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5465, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5429, - "src": "8437:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5466, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8449:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5467, - "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": 5462, - "name": "DisputeMerge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4841, - "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": 5468, - "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": 5469, - "nodeType": "EmitStatement", - "src": "8399:61:8" - } - ] - }, - "documentation": null, - "functionSelector": "f87be2d4", - "id": 5471, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "disputeMerge", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5377, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5374, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5471, - "src": "7664:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5373, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7664:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5376, - "name": "_mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5471, - "src": "7682:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5375, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7682:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7663:36:8" - }, - "returnParameters": { - "id": 5378, - "nodeType": "ParameterList", - "parameters": [], - "src": "7707:0:8" - }, - "scope": 6434, - "src": "7642:825:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5490, - "nodeType": "Block", - "src": "8539:140:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5483, - "name": "timeOpenForIssueApprove", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4716, - "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": 5478, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "8595:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5480, - "indexExpression": { - "argumentTypes": null, - "id": 5479, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5473, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5481, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "creationDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 4774, - "src": "8595:29:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5482, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7559, - "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": 5484, - "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": 5485, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "8656:5:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 5486, - "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": 5488, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8594:78:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 5477, - "id": 5489, - "nodeType": "Return", - "src": "8587:85:8" - } - ] - }, - "documentation": null, - "functionSelector": "96983822", - "id": 5491, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isIssueApprovable", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5474, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5473, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5491, - "src": "8500:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5472, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8500:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8499:18:8" - }, - "returnParameters": { - "id": 5477, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5476, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5491, - "src": "8534:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5475, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8534:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8533:6:8" - }, - "scope": 6434, - "src": "8473:206:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5512, - "nodeType": "Block", - "src": "8750:119:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5509, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5498, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "8768:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5500, - "indexExpression": { - "argumentTypes": null, - "id": 5499, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5493, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5501, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForApprove", - "nodeType": "MemberAccess", - "referencedDeclaration": 4784, - "src": "8768:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "313030", - "id": 5507, - "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": 5504, - "name": "percentageNeededForApprove", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4710, - "src": "8825:26:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5502, - "name": "beproVotesStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4722, - "src": "8804:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5503, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7613, - "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": 5505, - "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": 5506, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7634, - "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": 5508, - "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": 5510, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8767:95:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 5497, - "id": 5511, - "nodeType": "Return", - "src": "8760:102:8" - } - ] - }, - "documentation": null, - "functionSelector": "3d734948", - "id": 5513, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isIssueApproved", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5494, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5493, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5513, - "src": "8710:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5492, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8710:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8709:18:8" - }, - "returnParameters": { - "id": 5497, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5496, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5513, - "src": "8744:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5495, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8744:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8743:6:8" - }, - "scope": 6434, - "src": "8685:184:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5539, - "nodeType": "Block", - "src": "8958:137:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5536, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5522, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "8976:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5524, - "indexExpression": { - "argumentTypes": null, - "id": 5523, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5515, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5525, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 4788, - "src": "8976:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$4770_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 5527, - "indexExpression": { - "argumentTypes": null, - "id": 5526, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5517, - "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_$4770_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 5528, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "disputes", - "nodeType": "MemberAccess", - "referencedDeclaration": 4761, - "src": "8976:50:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "313030", - "id": 5534, - "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": 5531, - "name": "percentageNeededForDispute", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4713, - "src": "9051:26:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5529, - "name": "beproVotesStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4722, - "src": "9030:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5530, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7613, - "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": 5532, - "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": 5533, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7634, - "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": 5535, - "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": 5537, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8975:113:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 5521, - "id": 5538, - "nodeType": "Return", - "src": "8968:120:8" - } - ] - }, - "documentation": null, - "functionSelector": "f29b4250", - "id": 5540, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isMergeDisputed", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5518, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5515, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5540, - "src": "8900:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5514, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8900:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5517, - "name": "_mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5540, - "src": "8918:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5516, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8918:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8899:36:8" - }, - "returnParameters": { - "id": 5521, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5520, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5540, - "src": "8952:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5519, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8952:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8951:6:8" - }, - "scope": 6434, - "src": "8875:220:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5566, - "nodeType": "Block", - "src": "9184:132:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5549, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "9202:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5551, - "indexExpression": { - "argumentTypes": null, - "id": 5550, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5542, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5552, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 4788, - "src": "9202:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$4770_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 5554, - "indexExpression": { - "argumentTypes": null, - "id": 5553, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5544, - "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_$4770_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 5555, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 4759, - "src": "9202:47:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "313030", - "id": 5561, - "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": 5558, - "name": "percentageNeededForMerge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4719, - "src": "9274:24:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5556, - "name": "beproVotesStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4722, - "src": "9253:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5557, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 7613, - "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": 5559, - "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": 5560, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 7634, - "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": 5562, - "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": 5564, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "9201:108:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 5548, - "id": 5565, - "nodeType": "Return", - "src": "9194:115:8" - } - ] - }, - "documentation": null, - "functionSelector": "ce13eae6", - "id": 5567, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isMergeApproved", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5545, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5542, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5567, - "src": "9126:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5541, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9126:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5544, - "name": "_mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5567, - "src": "9144:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5543, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9144:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9125:36:8" - }, - "returnParameters": { - "id": 5548, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5547, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5567, - "src": "9178:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5546, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "9178:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9177:6:8" - }, - "scope": 6434, - "src": "9101:215:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5616, - "nodeType": "Block", - "src": "9420:309:8", - "statements": [ - { - "assignments": [ - 5577 - ], - "declarations": [ - { - "constant": false, - "id": 5577, - "name": "thisMergeVotes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5616, - "src": "9430:22:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5576, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9430:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5585, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5578, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "9455:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5580, - "indexExpression": { - "argumentTypes": null, - "id": 5579, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5569, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5581, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 4788, - "src": "9455:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$4770_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 5583, - "indexExpression": { - "argumentTypes": null, - "id": 5582, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5571, - "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_$4770_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 5584, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 4759, - "src": "9455:47:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9430:72:8" - }, - { - "body": { - "id": 5612, - "nodeType": "Block", - "src": "9572:130:8", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5607, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5599, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "9589:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5601, - "indexExpression": { - "argumentTypes": null, - "id": 5600, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5569, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5602, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 4788, - "src": "9589:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$4770_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 5604, - "indexExpression": { - "argumentTypes": null, - "id": 5603, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5587, - "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_$4770_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 5605, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 4759, - "src": "9589:40:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 5606, - "name": "thisMergeVotes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5577, - "src": "9632:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9589:57:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5611, - "nodeType": "IfStatement", - "src": "9586:106:8", - "trueBody": { - "id": 5610, - "nodeType": "Block", - "src": "9647:45:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 5608, - "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": 5575, - "id": 5609, - "nodeType": "Return", - "src": "9665:12:8" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5595, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5590, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5587, - "src": "9529:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5591, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "9533:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5593, - "indexExpression": { - "argumentTypes": null, - "id": 5592, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5569, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5594, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 4790, - "src": "9533:33:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9529:37:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5613, - "initializationExpression": { - "assignments": [ - 5587 - ], - "declarations": [ - { - "constant": false, - "id": 5587, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5613, - "src": "9516:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5586, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "9516:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5589, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 5588, - "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": 5597, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "9568:3:8", - "subExpression": { - "argumentTypes": null, - "id": 5596, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5587, - "src": "9568:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 5598, - "nodeType": "ExpressionStatement", - "src": "9568:3:8" - }, - "nodeType": "ForStatement", - "src": "9512:190:8" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5614, - "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": 5575, - "id": 5615, - "nodeType": "Return", - "src": "9711:11:8" - } - ] - }, - "documentation": null, - "functionSelector": "839408a5", - "id": 5617, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isMergeTheOneWithMoreVotes", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5572, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5569, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "9362:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5568, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9362:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5571, - "name": "_mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "9380:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5570, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9380:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9361:36:8" - }, - "returnParameters": { - "id": 5575, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5574, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5617, - "src": "9414:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5573, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "9414:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9413:6:8" - }, - "scope": 6434, - "src": "9326:403:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5707, - "nodeType": "Block", - "src": "9872:649:8", - "statements": [ - { - "assignments": [ - 5625 - ], - "declarations": [ - { - "constant": false, - "id": 5625, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5707, - "src": "9904:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue" - }, - "typeName": { - "contractScope": null, - "id": 5624, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4795, - "src": "9904:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_storage_ptr", - "typeString": "struct BEPRONetwork.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5626, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "9904:18:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5631, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5627, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5625, - "src": "9932:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5629, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 4772, - "src": "9932:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5630, - "name": "incrementIssueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4692, - "src": "9944:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9932:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5632, - "nodeType": "ExpressionStatement", - "src": "9932:28:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5637, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5633, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5625, - "src": "9970:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5635, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4776, - "src": "9970:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5636, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5619, - "src": "9990:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9970:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5638, - "nodeType": "ExpressionStatement", - "src": "9970:32:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5644, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5639, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5625, - "src": "10012:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5641, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "issueGenerator", - "nodeType": "MemberAccess", - "referencedDeclaration": 4778, - "src": "10012:20:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5642, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10035: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": "10035:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "10012:33:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5645, - "nodeType": "ExpressionStatement", - "src": "10012:33:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5651, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5646, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5625, - "src": "10055:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5648, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "creationDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 4774, - "src": "10055:18:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5649, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "10076:5:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 5650, - "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": 5652, - "nodeType": "ExpressionStatement", - "src": "10055:36:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5653, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5625, - "src": "10101:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5655, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 4792, - "src": "10101:15:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 5656, - "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": 5658, - "nodeType": "ExpressionStatement", - "src": "10101:23:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5659, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "10134:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5661, - "indexExpression": { - "argumentTypes": null, - "id": 5660, - "name": "incrementIssueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4692, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5662, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5625, - "src": "10161:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "src": "10134:32:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5664, - "nodeType": "ExpressionStatement", - "src": "10134:32:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5670, - "name": "incrementIssueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4692, - "src": "10202:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5665, - "name": "myIssues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4740, - "src": "10176:8:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 5668, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5666, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10185:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5667, - "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": 5669, - "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": 5671, - "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": 5672, - "nodeType": "ExpressionStatement", - "src": "10176:43:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5676, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10284:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5677, - "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": 5680, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "10304:4:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BEPRONetwork_$6434", - "typeString": "contract BEPRONetwork" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_BEPRONetwork_$6434", - "typeString": "contract BEPRONetwork" - } - ], - "id": 5679, - "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": 5678, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10296:7:8", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5681, - "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": 5682, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5619, - "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": 5674, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4686, - "src": "10260:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "id": 5675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 8261, - "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": 5683, - "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": 5684, - "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": 5673, - "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": 5685, - "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": 5686, - "nodeType": "ExpressionStatement", - "src": "10252:92:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5692, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5687, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4698, - "src": "10354:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5690, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5619, - "src": "10384:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5688, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4698, - "src": "10368:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5689, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7559, - "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": 5691, - "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": 5693, - "nodeType": "ExpressionStatement", - "src": "10354:43:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5698, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5694, - "name": "incrementIssueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4692, - "src": "10407:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5697, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5695, - "name": "incrementIssueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4692, - "src": "10426:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5696, - "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": 5699, - "nodeType": "ExpressionStatement", - "src": "10407:39:8" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5701, - "name": "incrementIssueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4692, - "src": "10471:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5702, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10489:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5703, - "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": 5704, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5619, - "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": 5700, - "name": "OpenIssue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4815, - "src": "10461:9:8", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (uint256,address,uint256)" - } - }, - "id": 5705, - "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": 5706, - "nodeType": "EmitStatement", - "src": "10456:58:8" - } - ] - }, - "documentation": "@dev open an Issue with bepro owned\n1st step", - "functionSelector": "b2bb95f5", - "id": 5708, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 5622, - "modifierName": { - "argumentTypes": null, - "id": 5621, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10724, - "src": "9858:13:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "9858:13:8" - } - ], - "name": "openIssue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5620, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5619, - "name": "_beproAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5708, - "src": "9829:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5618, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9829:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9828:22:8" - }, - "returnParameters": { - "id": 5623, - "nodeType": "ParameterList", - "parameters": [], - "src": "9872:0:8" - }, - "scope": 6434, - "src": "9810:711:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5769, - "nodeType": "Block", - "src": "10587:464:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5722, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5716, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "10605:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5718, - "indexExpression": { - "argumentTypes": null, - "id": 5717, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5710, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5719, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "issueGenerator", - "nodeType": "MemberAccess", - "referencedDeclaration": 4778, - "src": "10605:31:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5720, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10640:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5721, - "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": 5723, - "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": 5715, - "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": 5724, - "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": 5725, - "nodeType": "ExpressionStatement", - "src": "10597:85:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5730, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "10700:26:8", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5728, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5710, - "src": "10717:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5727, - "name": "isIssueApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5513, - "src": "10701:15:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 5729, - "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": 5731, - "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": 5726, - "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": 5732, - "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": 5733, - "nodeType": "ExpressionStatement", - "src": "10692:67:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5738, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "10777:28:8", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5736, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5710, - "src": "10796:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5735, - "name": "isIssueApprovable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5491, - "src": "10778:17:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 5737, - "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": 5739, - "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": 5734, - "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": 5740, - "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": 5741, - "nodeType": "ExpressionStatement", - "src": "10769:84:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5747, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5742, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "10863:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5744, - "indexExpression": { - "argumentTypes": null, - "id": 5743, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5710, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5745, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 4792, - "src": "10863:26:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5746, - "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": 5748, - "nodeType": "ExpressionStatement", - "src": "10863:33:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5754, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5749, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "10906:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5751, - "indexExpression": { - "argumentTypes": null, - "id": 5750, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5710, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5752, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "canceled", - "nodeType": "MemberAccess", - "referencedDeclaration": 4794, - "src": "10906:25:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5753, - "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": 5755, - "nodeType": "ExpressionStatement", - "src": "10906:32:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5759, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10976:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5760, - "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": 5761, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "10988:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5763, - "indexExpression": { - "argumentTypes": null, - "id": 5762, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5710, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5764, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4776, - "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": 5757, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4686, - "src": "10956:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "id": 5758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 8232, - "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": 5765, - "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": 5766, - "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": 5756, - "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": 5767, - "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": 5768, - "nodeType": "ExpressionStatement", - "src": "10948:96:8" - } - ] - }, - "documentation": null, - "functionSelector": "202996fb", - "id": 5770, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 5713, - "modifierName": { - "argumentTypes": null, - "id": 5712, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10724, - "src": "10573:13:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "10573:13:8" - } - ], - "name": "redeemIssue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5711, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5710, - "name": "_issueId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5770, - "src": "10548:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5709, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10548:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10547:18:8" - }, - "returnParameters": { - "id": 5714, - "nodeType": "ParameterList", - "parameters": [], - "src": "10587:0:8" - }, - "scope": 6434, - "src": "10527:524:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5878, - "nodeType": "Block", - "src": "11233:894:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5785, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5780, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "11251:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5782, - "indexExpression": { - "argumentTypes": null, - "id": 5781, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5772, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5783, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4776, - "src": "11251:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5784, - "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": 5786, - "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": 5779, - "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": 5787, - "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": 5788, - "nodeType": "ExpressionStatement", - "src": "11243:64:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5796, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5790, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "11325:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5792, - "indexExpression": { - "argumentTypes": null, - "id": 5791, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5772, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5793, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "issueGenerator", - "nodeType": "MemberAccess", - "referencedDeclaration": 4778, - "src": "11325:31:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5794, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11360:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5795, - "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": 5797, - "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": 5789, - "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": 5798, - "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": 5799, - "nodeType": "ExpressionStatement", - "src": "11317:85:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "11420:26:8", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5802, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5772, - "src": "11437:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5801, - "name": "isIssueApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5513, - "src": "11421:15:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 5803, - "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": 5805, - "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": 5800, - "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": 5806, - "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": 5807, - "nodeType": "ExpressionStatement", - "src": "11412:64:8" - }, - { - "assignments": [ - 5809 - ], - "declarations": [ - { - "constant": false, - "id": 5809, - "name": "previousAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5878, - "src": "11487:22:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5808, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11487:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5814, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5810, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "11512:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5812, - "indexExpression": { - "argumentTypes": null, - "id": 5811, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5772, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5813, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4776, - "src": "11512:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11487:53:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5820, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5815, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "11574:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5817, - "indexExpression": { - "argumentTypes": null, - "id": 5816, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5772, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5818, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4776, - "src": "11574:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5819, - "name": "_newbeproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5774, - "src": "11605:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11574:46:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5821, - "nodeType": "ExpressionStatement", - "src": "11574:46:8" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5824, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5822, - "name": "_newbeproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5774, - "src": "11656:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 5823, - "name": "previousAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5809, - "src": "11674:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11656:32:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 5876, - "nodeType": "Block", - "src": "11913:208:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5856, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11955:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5857, - "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": 5860, - "name": "_newbeproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5774, - "src": "11986:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5858, - "name": "previousAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5809, - "src": "11967:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5859, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7580, - "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": 5861, - "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": 5854, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4686, - "src": "11935:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "id": 5855, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 8232, - "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": 5862, - "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": 5863, - "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": 5853, - "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": 5864, - "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": 5865, - "nodeType": "ExpressionStatement", - "src": "11927:103:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5874, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5866, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4698, - "src": "12044:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5871, - "name": "_newbeproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5774, - "src": "12093:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5869, - "name": "previousAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5809, - "src": "12074:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5870, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7580, - "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": 5872, - "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": 5867, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4698, - "src": "12058:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5868, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7580, - "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": 5873, - "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": 5875, - "nodeType": "ExpressionStatement", - "src": "12044:66:8" - } - ] - }, - "id": 5877, - "nodeType": "IfStatement", - "src": "11653:468:8", - "trueBody": { - "id": 5852, - "nodeType": "Block", - "src": "11689:220:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5828, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11735:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5829, - "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": 5832, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "11755:4:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BEPRONetwork_$6434", - "typeString": "contract BEPRONetwork" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_BEPRONetwork_$6434", - "typeString": "contract BEPRONetwork" - } - ], - "id": 5831, - "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": 5830, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11747:7:8", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5833, - "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": 5836, - "name": "previousAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5809, - "src": "11782:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5834, - "name": "_newbeproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5774, - "src": "11762:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5835, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7580, - "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": 5837, - "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": 5826, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4686, - "src": "11711:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "id": 5827, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 8261, - "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": 5838, - "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": 5839, - "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": 5825, - "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": 5840, - "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": 5841, - "nodeType": "ExpressionStatement", - "src": "11703:115:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5850, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5842, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4698, - "src": "11832:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5847, - "name": "previousAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5809, - "src": "11882:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5845, - "name": "_newbeproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5774, - "src": "11862:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5846, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7580, - "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": 5848, - "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": 5843, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4698, - "src": "11846:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5844, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7559, - "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": 5849, - "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": 5851, - "nodeType": "ExpressionStatement", - "src": "11832:66:8" - } - ] - } - } - ] - }, - "documentation": "@dev update an Issue with bepro owned\n2nd step (optional)", - "functionSelector": "05563309", - "id": 5879, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 5777, - "modifierName": { - "argumentTypes": null, - "id": 5776, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10724, - "src": "11219:13:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "11219:13:8" - } - ], - "name": "updateIssue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5775, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5772, - "name": "_issueId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5879, - "src": "11169:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5771, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11169:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5774, - "name": "_newbeproAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5879, - "src": "11187:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5773, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11187:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11168:43:8" - }, - "returnParameters": { - "id": 5778, - "nodeType": "ParameterList", - "parameters": [], - "src": "11233:0:8" - }, - "scope": 6434, - "src": "11148:979:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6071, - "nodeType": "Block", - "src": "12483:1486:8", - "statements": [ - { - "assignments": [ - 5893 - ], - "declarations": [ - { - "constant": false, - "id": 5893, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6071, - "src": "12502:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue" - }, - "typeName": { - "contractScope": null, - "id": 5892, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4795, - "src": "12502:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_storage_ptr", - "typeString": "struct BEPRONetwork.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5897, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5894, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "12523:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5896, - "indexExpression": { - "argumentTypes": null, - "id": 5895, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5881, - "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_$4795_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": 5902, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5899, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5893, - "src": "12557:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5900, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 4772, - "src": "12557:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5901, - "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": 5903, - "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": 5898, - "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": 5904, - "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": 5905, - "nodeType": "ExpressionStatement", - "src": "12549:46:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5910, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5907, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5893, - "src": "12613:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5908, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 4792, - "src": "12613:15:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 5909, - "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": 5911, - "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": 5906, - "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": 5912, - "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": 5913, - "nodeType": "ExpressionStatement", - "src": "12605:59:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5919, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5915, - "name": "_prAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5887, - "src": "12682:10:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 5916, - "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": 5917, - "name": "_prAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5884, - "src": "12703:12:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 5918, - "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": 5920, - "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": 5914, - "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": 5921, - "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": 5922, - "nodeType": "ExpressionStatement", - "src": "12674:90:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5934, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5926, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "12803:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5927, - "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": 5924, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4686, - "src": "12782:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "id": 5925, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 8223, - "src": "12782:20:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 5928, - "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": 5933, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5929, - "name": "COUNCIL_BEPRO_AMOUNT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4725, - "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": 5932, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 5930, - "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": 5931, - "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": 5935, - "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": 5923, - "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": 5936, - "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": 5937, - "nodeType": "ExpressionStatement", - "src": "12774:148:8" - }, - { - "assignments": [ - 5939 - ], - "declarations": [ - { - "constant": false, - "id": 5939, - "name": "mergeProposal", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6071, - "src": "12933:34:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - }, - "typeName": { - "contractScope": null, - "id": 5938, - "name": "MergeProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4770, - "src": "12933:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5940, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "12933:34:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5946, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5941, - "name": "mergeProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5939, - "src": "12977:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 5943, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 4749, - "src": "12977:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5944, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5893, - "src": "12997:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5945, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 4790, - "src": "12997:22:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12977:42:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5947, - "nodeType": "ExpressionStatement", - "src": "12977:42:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5952, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5948, - "name": "mergeProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5939, - "src": "13029:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 5950, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "prAmounts", - "nodeType": "MemberAccess", - "referencedDeclaration": 4767, - "src": "13029:23:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5951, - "name": "_prAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5887, - "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": 5953, - "nodeType": "ExpressionStatement", - "src": "13029:36:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5958, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5954, - "name": "mergeProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5939, - "src": "13075:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 5956, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "prAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 4764, - "src": "13075:25:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5957, - "name": "_prAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5884, - "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": 5959, - "nodeType": "ExpressionStatement", - "src": "13075:40:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5965, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5960, - "name": "mergeProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5939, - "src": "13125:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 5962, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "proposalAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 4769, - "src": "13125:29:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5963, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13157:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5964, - "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": 5966, - "nodeType": "ExpressionStatement", - "src": "13125:42:8" - }, - { - "assignments": [ - 5968 - ], - "declarations": [ - { - "constant": false, - "id": 5968, - "name": "total", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6071, - "src": "13178:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5967, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13178:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5982, - "initialValue": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5980, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5977, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5969, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "13196:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5971, - "indexExpression": { - "argumentTypes": null, - "id": 5970, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5881, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5972, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4776, - "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": 5975, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5973, - "name": "feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4704, - "src": "13228:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 5974, - "name": "mergeCreatorFeeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4707, - "src": "13239:20:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13228:31:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5976, - "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": 5978, - "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": 5979, - "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": 5981, - "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": 6029, - "nodeType": "Block", - "src": "13355:289:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6006, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5997, - "name": "_prAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5884, - "src": "13398:12:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 5999, - "indexExpression": { - "argumentTypes": null, - "id": 5998, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5984, - "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": 5995, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4686, - "src": "13377:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "id": 5996, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 8223, - "src": "13377:20:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6000, - "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": 6005, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6001, - "name": "DEVELOPER_BEPRO_AMOUNT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4731, - "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": 6004, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 6002, - "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": 6003, - "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": 6007, - "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": 5994, - "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": 6008, - "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": 6009, - "nodeType": "ExpressionStatement", - "src": "13369:172:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6027, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6010, - "name": "total", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5968, - "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": 6025, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6022, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6013, - "name": "_prAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5887, - "src": "13574:10:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 6015, - "indexExpression": { - "argumentTypes": null, - "id": 6014, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5984, - "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": 6020, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6018, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 6016, - "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": 6017, - "name": "feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4704, - "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": 6019, - "name": "mergeCreatorFeeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4707, - "src": "13604:20:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13591:33:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6021, - "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": 6023, - "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": 6024, - "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": 6011, - "name": "total", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5968, - "src": "13563:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6012, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7559, - "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": 6026, - "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": 6028, - "nodeType": "ExpressionStatement", - "src": "13555:78:8" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5987, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5984, - "src": "13326:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5988, - "name": "_prAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5884, - "src": "13330:12:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 5989, - "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": 6030, - "initializationExpression": { - "assignments": [ - 5984 - ], - "declarations": [ - { - "constant": false, - "id": 5984, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6030, - "src": "13314:6:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5983, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "13314:4:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5986, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 5985, - "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": 5992, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "13351:3:8", - "subExpression": { - "argumentTypes": null, - "id": 5991, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5984, - "src": "13351:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5993, - "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": 6037, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6032, - "name": "total", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5968, - "src": "13662:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6033, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "13671:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6035, - "indexExpression": { - "argumentTypes": null, - "id": 6034, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5881, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6036, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4776, - "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": 6038, - "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": 6031, - "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": 6039, - "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": 6040, - "nodeType": "ExpressionStatement", - "src": "13654:67:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6049, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6041, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "13732:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6043, - "indexExpression": { - "argumentTypes": null, - "id": 6042, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5881, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6044, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 4788, - "src": "13732:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$4770_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 6047, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6045, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5893, - "src": "13764:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6046, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 4790, - "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_$4770_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6048, - "name": "mergeProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5939, - "src": "13790:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "src": "13732:71:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 6050, - "nodeType": "ExpressionStatement", - "src": "13732:71:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6061, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6051, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "13813:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6053, - "indexExpression": { - "argumentTypes": null, - "id": 6052, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5881, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6054, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 4790, - "src": "13813:33:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6060, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6055, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "13849:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6057, - "indexExpression": { - "argumentTypes": null, - "id": 6056, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5881, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6058, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 4790, - "src": "13849:33:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 6059, - "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": 6062, - "nodeType": "ExpressionStatement", - "src": "13813:73:8" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6064, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5881, - "src": "13922:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6065, - "name": "mergeProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5939, - "src": "13932:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6066, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 4749, - "src": "13932:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6067, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13951:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6068, - "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": 6063, - "name": "MergeProposalCreated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4831, - "src": "13901:20:8", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,uint256,address)" - } - }, - "id": 6069, - "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": 6070, - "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": 6072, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 5890, - "modifierName": { - "argumentTypes": null, - "id": 5889, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10724, - "src": "12469:13:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "12469:13:8" - } - ], - "name": "proposeIssueMerge", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5888, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5881, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6072, - "src": "12384:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5880, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12384:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5884, - "name": "_prAddresses", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6072, - "src": "12402:29:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 5882, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12402:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5883, - "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": 5887, - "name": "_prAmounts", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6072, - "src": "12433:27:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 5885, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12433:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5886, - "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": 5891, - "nodeType": "ParameterList", - "parameters": [], - "src": "12483:0:8" - }, - "scope": 6434, - "src": "12357:1612:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6257, - "nodeType": "Block", - "src": "14239:1502:8", - "statements": [ - { - "assignments": [ - 6082 - ], - "declarations": [ - { - "constant": false, - "id": 6082, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6257, - "src": "14249:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue" - }, - "typeName": { - "contractScope": null, - "id": 6081, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4795, - "src": "14249:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_storage_ptr", - "typeString": "struct BEPRONetwork.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6086, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6083, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "14270:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6085, - "indexExpression": { - "argumentTypes": null, - "id": 6084, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6074, - "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_$4795_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": 6091, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6088, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6082, - "src": "14304:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6089, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 4772, - "src": "14304:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6090, - "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": 6092, - "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": 6087, - "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": 6093, - "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": 6094, - "nodeType": "ExpressionStatement", - "src": "14296:46:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6099, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6096, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6082, - "src": "14360:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6097, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 4792, - "src": "14360:15:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 6098, - "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": 6100, - "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": 6095, - "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": 6101, - "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": 6102, - "nodeType": "ExpressionStatement", - "src": "14352:59:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6107, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6104, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6082, - "src": "14429:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6105, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 4790, - "src": "14429:22:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 6106, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6076, - "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": 6108, - "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": 6103, - "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": 6109, - "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": 6110, - "nodeType": "ExpressionStatement", - "src": "14421:76:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6113, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6074, - "src": "14531:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6114, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6076, - "src": "14541:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6112, - "name": "isMergeApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5567, - "src": "14515:15:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256,uint256) returns (bool)" - } - }, - "id": 6115, - "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": 6116, - "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": 6111, - "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": 6117, - "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": 6118, - "nodeType": "ExpressionStatement", - "src": "14507:79:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6124, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "14604:36:8", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6121, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6074, - "src": "14621:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6122, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6076, - "src": "14631:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6120, - "name": "isMergeDisputed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5540, - "src": "14605:15:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256,uint256) returns (bool)" - } - }, - "id": 6123, - "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": 6125, - "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": 6119, - "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": 6126, - "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": 6127, - "nodeType": "ExpressionStatement", - "src": "14596:72:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6130, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6074, - "src": "14713:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6131, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6076, - "src": "14723:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6129, - "name": "isMergeTheOneWithMoreVotes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5617, - "src": "14686:26:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256,uint256) returns (bool)" - } - }, - "id": 6132, - "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": 6133, - "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": 6128, - "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": 6134, - "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": 6135, - "nodeType": "ExpressionStatement", - "src": "14678:100:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6141, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6136, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "14817:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6138, - "indexExpression": { - "argumentTypes": null, - "id": 6137, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6074, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6139, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 4792, - "src": "14817:26:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 6140, - "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": 6142, - "nodeType": "ExpressionStatement", - "src": "14817:33:8" - }, - { - "assignments": [ - 6144 - ], - "declarations": [ - { - "constant": false, - "id": 6144, - "name": "merge", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6257, - "src": "14860:26:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - }, - "typeName": { - "contractScope": null, - "id": 6143, - "name": "MergeProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4770, - "src": "14860:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6151, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6145, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "14889:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6147, - "indexExpression": { - "argumentTypes": null, - "id": 6146, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6074, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6148, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 4788, - "src": "14889:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$4770_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 6150, - "indexExpression": { - "argumentTypes": null, - "id": 6149, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6076, - "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_$4770_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14860:70:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6155, - "name": "feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4701, - "src": "14993:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6156, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "15006:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6158, - "indexExpression": { - "argumentTypes": null, - "id": 6157, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6074, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6159, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4776, - "src": "15006:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 6160, - "name": "feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4704, - "src": "15037:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15006:39:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6162, - "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": 6163, - "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": 6153, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4686, - "src": "14973:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "id": 6154, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 8232, - "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": 6165, - "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": 6166, - "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": 6152, - "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": 6167, - "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": 6168, - "nodeType": "ExpressionStatement", - "src": "14965:108:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6172, - "name": "feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4701, - "src": "15146:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6181, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6178, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6173, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "15159:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6175, - "indexExpression": { - "argumentTypes": null, - "id": 6174, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6074, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6176, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4776, - "src": "15159:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 6177, - "name": "mergeCreatorFeeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4707, - "src": "15190:20:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15159:51:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6179, - "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": 6180, - "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": 6170, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4686, - "src": "15126:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "id": 6171, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 8232, - "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": 6182, - "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": 6183, - "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": 6169, - "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": 6184, - "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": 6185, - "nodeType": "ExpressionStatement", - "src": "15118:120:8" - }, - { - "body": { - "id": 6233, - "nodeType": "Block", - "src": "15345:219:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6205, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6074, - "src": "15395:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6198, - "name": "myIssues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4740, - "src": "15359:8:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 6203, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6199, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6144, - "src": "15368:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6200, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 4764, - "src": "15368:17:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "id": 6202, - "indexExpression": { - "argumentTypes": null, - "id": 6201, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6187, - "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": 6204, - "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": 6206, - "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": 6207, - "nodeType": "ExpressionStatement", - "src": "15359:45:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6211, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6144, - "src": "15446:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6212, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 4764, - "src": "15446:17:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "id": 6214, - "indexExpression": { - "argumentTypes": null, - "id": 6213, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6187, - "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": 6228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6225, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6215, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6144, - "src": "15469:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6216, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAmounts", - "nodeType": "MemberAccess", - "referencedDeclaration": 4767, - "src": "15469:15:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "id": 6218, - "indexExpression": { - "argumentTypes": null, - "id": 6217, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6187, - "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": 6223, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6221, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 6219, - "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": 6220, - "name": "feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4704, - "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": 6222, - "name": "mergeCreatorFeeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4707, - "src": "15504:20:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15491:33:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6224, - "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": 6226, - "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": 6227, - "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": 6209, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4686, - "src": "15426:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "id": 6210, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 8232, - "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": 6229, - "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": 6230, - "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": 6208, - "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": 6231, - "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": 6232, - "nodeType": "ExpressionStatement", - "src": "15418:135:8" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6194, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6190, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6187, - "src": "15311:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6191, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6144, - "src": "15315:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6192, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 4764, - "src": "15315:17:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "id": 6193, - "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": 6234, - "initializationExpression": { - "assignments": [ - 6187 - ], - "declarations": [ - { - "constant": false, - "id": 6187, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6234, - "src": "15299:6:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6186, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "15299:4:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6189, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 6188, - "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": 6196, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "15341:3:8", - "subExpression": { - "argumentTypes": null, - "id": 6195, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6187, - "src": "15341:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6197, - "nodeType": "ExpressionStatement", - "src": "15341:3:8" - }, - "nodeType": "ForStatement", - "src": "15295:269:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6235, - "name": "closedIdsCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4695, - "src": "15574:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 6238, - "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": 6236, - "name": "closedIdsCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4695, - "src": "15591:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6237, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7559, - "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": 6239, - "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": 6241, - "nodeType": "ExpressionStatement", - "src": "15574:38:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6242, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4698, - "src": "15622:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6245, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6082, - "src": "15652:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6246, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4776, - "src": "15652:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6243, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4698, - "src": "15636:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6244, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7580, - "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": 6247, - "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": 6249, - "nodeType": "ExpressionStatement", - "src": "15622:48:8" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6251, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6074, - "src": "15696:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6252, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6076, - "src": "15706:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6253, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6144, - "src": "15716:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6254, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 4764, - "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": 6250, - "name": "CloseIssue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4860, - "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": 6255, - "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": 6256, - "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": 6258, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6079, - "modifierName": { - "argumentTypes": null, - "id": 6078, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10724, - "src": "14225:13:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "14225:13:8" - } - ], - "name": "closeIssue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6077, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6074, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6258, - "src": "14182:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6073, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14182:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6076, - "name": "_mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6258, - "src": "14200:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6075, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14200:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14181:36:8" - }, - "returnParameters": { - "id": 6080, - "nodeType": "ParameterList", - "parameters": [], - "src": "14239:0:8" - }, - "scope": 6434, - "src": "14162:1579:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6270, - "nodeType": "Block", - "src": "15826:42:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6266, - "name": "myIssues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4740, - "src": "15843:8:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 6268, - "indexExpression": { - "argumentTypes": null, - "id": 6267, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6260, - "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": 6265, - "id": 6269, - "nodeType": "Return", - "src": "15836:25:8" - } - ] - }, - "documentation": null, - "functionSelector": "5d795bd2", - "id": 6271, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getIssuesByAddress", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6261, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6260, - "name": "_address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6271, - "src": "15775:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6259, - "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": 6265, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6264, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6271, - "src": "15809:16:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 6262, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15809:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6263, - "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": 6434, - "src": "15747:121:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6293, - "nodeType": "Block", - "src": "15943:136:8", - "statements": [ - { - "assignments": [ - 6279 - ], - "declarations": [ - { - "constant": false, - "id": 6279, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6293, - "src": "15953:19:8", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - }, - "typeName": { - "contractScope": null, - "id": 6278, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4807, - "src": "15953:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6283, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6280, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4744, - "src": "15975:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4807_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 6282, - "indexExpression": { - "argumentTypes": null, - "id": 6281, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6273, - "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_$4807_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": 6287, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6279, - "src": "16041:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 6288, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 4801, - "src": "16041:20:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 6290, - "indexExpression": { - "argumentTypes": null, - "id": 6289, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6273, - "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": 6284, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6279, - "src": "16008:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4807_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 6285, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegatedByOthers", - "nodeType": "MemberAccess", - "referencedDeclaration": 4797, - "src": "16008:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7559, - "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": 6291, - "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": 6277, - "id": 6292, - "nodeType": "Return", - "src": "16001:71:8" - } - ] - }, - "documentation": null, - "functionSelector": "1e63c0a5", - "id": 6294, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getVotesByAddress", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6274, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6273, - "name": "_address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6294, - "src": "15901:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6272, - "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": 6277, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6276, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6294, - "src": "15935:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6275, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15935:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15934:9:8" - }, - "scope": 6434, - "src": "15874:205:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6339, - "nodeType": "Block", - "src": "16210:223:8", - "statements": [ - { - "assignments": [ - 6316 - ], - "declarations": [ - { - "constant": false, - "id": 6316, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6339, - "src": "16220:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue" - }, - "typeName": { - "contractScope": null, - "id": 6315, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4795, - "src": "16220:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_storage_ptr", - "typeString": "struct BEPRONetwork.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6320, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6317, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "16241:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6319, - "indexExpression": { - "argumentTypes": null, - "id": 6318, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6296, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16220:37:8" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6321, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6316, - "src": "16275:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6322, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 4772, - "src": "16275:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6323, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6316, - "src": "16286:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6324, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 4776, - "src": "16286:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6325, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6316, - "src": "16305:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6326, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "creationDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 4774, - "src": "16305:18:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6327, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6316, - "src": "16325:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6328, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "issueGenerator", - "nodeType": "MemberAccess", - "referencedDeclaration": 4778, - "src": "16325:20:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6329, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6316, - "src": "16347:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6330, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForApprove", - "nodeType": "MemberAccess", - "referencedDeclaration": 4784, - "src": "16347:21:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6331, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6316, - "src": "16370:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6332, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 4790, - "src": "16370:22:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6333, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6316, - "src": "16394:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6334, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 4792, - "src": "16394:15:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6335, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6316, - "src": "16411:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$4795_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6336, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "canceled", - "nodeType": "MemberAccess", - "referencedDeclaration": 4794, - "src": "16411:14:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 6337, - "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": 6314, - "id": 6338, - "nodeType": "Return", - "src": "16267:159:8" - } - ] - }, - "documentation": null, - "functionSelector": "c98244d0", - "id": 6340, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getIssueById", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6297, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6296, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6340, - "src": "16111:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6295, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16111:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16110:18:8" - }, - "returnParameters": { - "id": 6314, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6299, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6340, - "src": "16145:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6298, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16145:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6301, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6340, - "src": "16154:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6300, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16154:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6303, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6340, - "src": "16163:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6302, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16163:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6305, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6340, - "src": "16172:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6304, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16172:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6307, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6340, - "src": "16181:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6306, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16181:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6309, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6340, - "src": "16190:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6308, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16190:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6311, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6340, - "src": "16199:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6310, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "16199:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6313, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6340, - "src": "16205:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6312, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "16205:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16144:66:8" - }, - "scope": 6434, - "src": "16089:344:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6384, - "nodeType": "Block", - "src": "16584:203:8", - "statements": [ - { - "assignments": [ - 6362 - ], - "declarations": [ - { - "constant": false, - "id": 6362, - "name": "merge", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6384, - "src": "16594:26:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - }, - "typeName": { - "contractScope": null, - "id": 6361, - "name": "MergeProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4770, - "src": "16594:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6369, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6363, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4735, - "src": "16623:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$4795_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6365, - "indexExpression": { - "argumentTypes": null, - "id": 6364, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6342, - "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_$4795_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6366, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 4788, - "src": "16623:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$4770_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 6368, - "indexExpression": { - "argumentTypes": null, - "id": 6367, - "name": "_mergeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6344, - "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_$4770_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16594:70:8" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6370, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6362, - "src": "16682:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6371, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 4749, - "src": "16682:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6372, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6362, - "src": "16693:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6373, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 4759, - "src": "16693:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6374, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6362, - "src": "16706:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6375, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "disputes", - "nodeType": "MemberAccess", - "referencedDeclaration": 4761, - "src": "16706:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6376, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6362, - "src": "16722:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6377, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 4764, - "src": "16722:17:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6378, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6362, - "src": "16741:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6379, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAmounts", - "nodeType": "MemberAccess", - "referencedDeclaration": 4767, - "src": "16741:15:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6380, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6362, - "src": "16758:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$4770_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6381, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "proposalAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 4769, - "src": "16758:21:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 6382, - "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": 6360, - "id": 6383, - "nodeType": "Return", - "src": "16674:106:8" - } - ] - }, - "documentation": null, - "functionSelector": "6106e4eb", - "id": 6385, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getMergeById", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6345, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6342, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6385, - "src": "16461:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6341, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16461:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6344, - "name": "_mergeId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6385, - "src": "16479:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6343, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16479:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16460:36:8" - }, - "returnParameters": { - "id": 6360, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6347, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6385, - "src": "16513:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6346, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16513:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6349, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6385, - "src": "16522:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6348, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16522:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6351, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6385, - "src": "16531:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6350, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16531:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6354, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6385, - "src": "16540:16:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 6352, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16540:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6353, - "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": 6357, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6385, - "src": "16558:16:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 6355, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16558:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6356, - "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": 6359, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6385, - "src": "16576:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6358, - "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": 6434, - "src": "16439:348:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6398, - "nodeType": "Block", - "src": "16924:50:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6392, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4686, - "src": "16934:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6394, - "name": "_newAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "16955:11:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6393, - "name": "_IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4677, - "src": "16947:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$__IERC20_$4677_$", - "typeString": "type(contract _IERC20)" - } - }, - "id": 6395, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16947:20:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "src": "16934:33:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$4677", - "typeString": "contract _IERC20" - } - }, - "id": 6397, - "nodeType": "ExpressionStatement", - "src": "16934:33:8" - } - ] - }, - "documentation": "@dev Change BEPRO Token Address (Upgrade)", - "functionSelector": "5ac203cf", - "id": 6399, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6390, - "modifierName": { - "argumentTypes": null, - "id": 6389, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7294, - "src": "16914:9:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "16914:9:8" - } - ], - "name": "changeBEPROAddress", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6388, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6387, - "name": "_newAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6399, - "src": "16886:19:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6386, - "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": 6391, - "nodeType": "ParameterList", - "parameters": [], - "src": "16924:0:8" - }, - "scope": 6434, - "src": "16858:116:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6410, - "nodeType": "Block", - "src": "17088:41:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6408, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6406, - "name": "feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4701, - "src": "17098:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6407, - "name": "_newAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6401, - "src": "17111:11:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "17098:24:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6409, - "nodeType": "ExpressionStatement", - "src": "17098:24:8" - } - ] - }, - "documentation": "@dev Change Fee Address", - "functionSelector": "70c9c791", - "id": 6411, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6404, - "modifierName": { - "argumentTypes": null, - "id": 6403, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7294, - "src": "17078:9:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17078:9:8" - } - ], - "name": "editFeeAddress", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6402, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6401, - "name": "_newAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6411, - "src": "17050:19:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6400, - "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": 6405, - "nodeType": "ParameterList", - "parameters": [], - "src": "17088:0:8" - }, - "scope": 6434, - "src": "17026:103:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6422, - "nodeType": "Block", - "src": "17244:37:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6420, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6418, - "name": "feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4704, - "src": "17254:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6419, - "name": "_feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6413, - "src": "17265:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17254:20:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6421, - "nodeType": "ExpressionStatement", - "src": "17254:20:8" - } - ] - }, - "documentation": "@dev Change Share Fee Amount", - "functionSelector": "88632e28", - "id": 6423, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6416, - "modifierName": { - "argumentTypes": null, - "id": 6415, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7294, - "src": "17234:9:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17234:9:8" - } - ], - "name": "editFeeShare", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6414, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6413, - "name": "_feeShare", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6423, - "src": "17208:17:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6412, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17208:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17207:19:8" - }, - "returnParameters": { - "id": 6417, - "nodeType": "ParameterList", - "parameters": [], - "src": "17244:0:8" - }, - "scope": 6434, - "src": "17186:95:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6432, - "nodeType": "Block", - "src": "17415:28:8", - "statements": [] - }, - "documentation": "@dev Upgrade Contract Version", - "functionSelector": "eb2c0223", - "id": 6433, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6428, - "modifierName": { - "argumentTypes": null, - "id": 6427, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7294, - "src": "17394:9:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17394:9:8" - }, - { - "arguments": null, - "id": 6430, - "modifierName": { - "argumentTypes": null, - "id": 6429, - "name": "whenPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10734, - "src": "17404:10:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17404:10:8" - } - ], - "name": "upgradeContract", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6426, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6425, - "name": "_newContract", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6433, - "src": "17365:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6424, - "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": 6431, - "nodeType": "ParameterList", - "parameters": [], - "src": "17415:0:8" - }, - "scope": 6434, - "src": "17340:103:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - } - ], - "scope": 6435, - "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-05-21T10:54:57.495Z", - "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/interfaces/index.js b/build/interfaces/index.js deleted file mode 100644 index 164c6cac..00000000 --- a/build/interfaces/index.js +++ /dev/null @@ -1,13 +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'), - erc721standard: require('../../build/contracts/ERC721Standard.json'), - beproNetwork: require('../../build/contracts/BEPRONetwork.json'), - openerRealFvr: require('../../build/contracts/OpenerRealFvr.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 7f865027..00000000 --- a/build/models/ERC20/ERC20Contract.js +++ /dev/null @@ -1,177 +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;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);return _context6.abrupt('return', approvedAmount >= amount);case 10:_context6.prev = 10;_context6.t3 = _context6['catch'](0);throw _context6.t3;case 13:case 'end':return _context6.stop();}}}, _callee6, _this2, [[0, 10]]);}));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/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/ERC721Standard.js b/build/models/ERC721/ERC721Standard.js deleted file mode 100644 index 56cea45a..00000000 --- a/build/models/ERC721/ERC721Standard.js +++ /dev/null @@ -1,109 +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); -var _ERC20Contract = require('../ERC20/ERC20Contract');var _ERC20Contract2 = _interopRequireDefault(_ERC20Contract);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 Set Base Token URI - */ }, { key: 'mint', - - - - - /** - * @function - * @description Mint created TokenID - * @param {Address} to - * @param {Integer} tokenID - */value: function () {var _ref6 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee4(_ref7) {var - tokenID = _ref7.tokenID;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.mint(tokenID)));case 2:return _context4.abrupt('return', _context4.sent);case 3:case 'end':return _context4.stop();}}}, _callee4, this);}));function mint(_x4) {return _ref6.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 _callee5() {return _regenerator2.default.wrap(function _callee5$(_context5) {while (1) {switch (_context5.prev = _context5.next) {case 0:if (_this2.getAddress()) {_context5.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()); /* Set Token Address Contract for easy access */_context5.t0 = _ERC20Contract2.default;_context5.t1 = _this2.web3;_context5.next = 7;return _this2.purchaseToken();case 7:_context5.t2 = _context5.sent;_context5.t3 = _this2.acc;_context5.t4 = { web3: _context5.t1, contractAddress: _context5.t2, acc: _context5.t3 };_this2.params.ERC20Contract = new _context5.t0(_context5.t4);_context5.next = 13;return _this2.params.ERC20Contract.__assert();case 13:case 'end':return _context5.stop();}}}, _callee5, _this2);}));this.setBaseTokenURI = function () {var _ref9 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee6(_ref10) {var URI = _ref10.URI;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.setBaseURI(URI));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. - - - - deploy = function () {var _ref11 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee7(_ref12) {var name = _ref12.name,symbol = _ref12.symbol,callback = _ref12.callback;var params, res;return _regenerator2.default.wrap(function _callee7$(_context7) {while (1) {switch (_context7.prev = _context7.next) {case 0:if ( - name) {_context7.next = 2;break;}throw ( - new Error('Please provide a name'));case 2:if ( - - - symbol) {_context7.next = 4;break;}throw ( - new Error('Please provide a symbol'));case 4: - - params = [name, symbol];_context7.next = 7;return ( - _this2.__deploy(params, callback));case 7:res = _context7.sent; - _this2.params.contractAddress = res.contractAddress; - /* Call to Backend API */_context7.next = 11;return ( - _this2.__assert());case 11:return _context7.abrupt('return', - res);case 12:case 'end':return _context7.stop();}}}, _callee7, _this2);}));return function (_x6) {return _ref11.apply(this, arguments);};}();this. - - - getERC20Contract = function () {return _this2.params.ERC20Contract;};};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 414dfb75..00000000 --- a/build/models/IContract.js +++ /dev/null @@ -1,300 +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) - */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;(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, - 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: 20000000000, // 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 = 12;break;}_context15.next = 5;return _this.params.web3.eth.getAccounts();case 5:accounts = _context15.sent;console.log('---__sendTx.bp0');_context15.next = 9;return _this.__metamaskCall({ f: f, acc: accounts[0], value: value, callback: callback });case 9:res = _context15.sent;_context15.next = 28;break;case 12:if (!(_this.acc && !call)) {_context15.next = 19;break;}data = f.encodeABI();_context15.next = 16;return _this.params.contract.send(_this.acc.getAccount(), data, value).catch(function (err) {throw err;});case 16:res = _context15.sent;_context15.next = 28;break;case 19:if (!(_this.acc && call)) {_context15.next = 25;break;}_context15.next = 22;return f.call({ from: _this.acc.getAddress() }).catch(function (err) {throw err;});case 22:res = _context15.sent;_context15.next = 28;break;case 25:_context15.next = 27;return f.call().catch(function (err) {throw err;});case 27:res = _context15.sent;case 28:return _context15.abrupt('return', res);case 31:_context15.prev = 31;_context15.t0 = _context15['catch'](0);throw _context15.t0;case 34:case 'end':return _context15.stop();}}}, _callee15, _this, [[0, 31]]);}));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/custom/RealFvr/OpenerRealFvr.js b/build/models/custom/RealFvr/OpenerRealFvr.js deleted file mode 100644 index 7129ccbe..00000000 --- a/build/models/custom/RealFvr/OpenerRealFvr.js +++ /dev/null @@ -1,341 +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 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.packNumber Pack Number - * @param {Integer} params.nftAmount Amount of NFTs/Tokens - * @param {Integer} 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 - * @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 {Address} params.address Token Address - * @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} packNumber - * @returns {Integer} price - * @returns {String} serie - * @returns {String} drop - * @returns {String} packType - * @returns {Address} buyer - * @returns {Array | Address} saleDistributionAddresses - * @returns {Array | Integer} saleDistributionAmounts - */ - - - - - - - - - - - - - - - - - - - - - /** - * @function - * @description Get Token IDs that were already bought via a pack - * @returns {Array | Integer} TokensRegistered - */ - - - - - - - - - - /** - * @function - * @description Verify if a Token was already minted - * @param {Object} params Parameters - * @param {Integer} params.tokenId - * @returns {Bool} wasMinted - */ - - - /** - * @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()); // Set Token Address Contract for easy access - _this2.params.ERC20Contract = new _ERC20Contract2.default({ web3: _this2.web3, contractAddress: _this2.tokenAddress, acc: _this2.acc }); // Assert Token Contract - _context.next = 6;return _this2.params.ERC20Contract.__assert();case 6:case 'end':return _context.stop();}}}, _callee, _this2);}));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.offerPack = function () {var _ref4 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee3(_ref5) {var packId = _ref5.packId,receivingAddress = _ref5.receivingAddress;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.offerPack(packId, receivingAddress));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.createPack = function () {var _ref6 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee4(_ref7) {var packNumber = _ref7.packNumber,nftAmount = _ref7.nftAmount,price = _ref7.price,serie = _ref7.serie,packType = _ref7.packType,drop = _ref7.drop,saleStart = _ref7.saleStart,saleDistributionAddresses = _ref7.saleDistributionAddresses,saleDistributionAmounts = _ref7.saleDistributionAmounts;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.createPack(packNumber, parseInt(nftAmount, 10), String(price).toString(), serie, packType, drop, _Numbers2.default.timeToSmartContractTime(saleStart), saleDistributionAddresses, saleDistributionAmounts));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.editPackInfo = function () {var _ref8 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee5(_ref9) {var packId = _ref9.packId,saleStart = _ref9.saleStart,price = _ref9.price,serie = _ref9.serie,packType = _ref9.packType,drop = _ref9.drop;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.createPack(packId, _Numbers2.default.timeToSmartContractTime(saleStart), serie, packType, drop, String(price).toString()));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.deletePackById = function () {var _ref10 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee6(_ref11) {var packId = _ref11.packId;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.deletePackById(packId));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.mint = function () {var _ref12 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee7(_ref13) {var tokenId = _ref13.tokenId;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.mint(tokenId));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.setPurchaseTokenAddress = function () {var _ref14 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee8(_ref15) {var address = _ref15.address;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.setPurchaseTokenAddress(address));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.lock = (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.lock());case 2:return _context9.abrupt('return', _context9.sent);case 3:case 'end':return _context9.stop();}}}, _callee9, _this2);}));this.unlock = (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.__sendTx(_this2.params.contract.getContract().methods.unlock());case 2:return _context10.abrupt('return', _context10.sent);case 3:case 'end':return _context10.stop();}}}, _callee10, _this2);}));this.setTokenPriceInUSD = function () {var _ref18 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee11(_ref19) {var address = _ref19.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 (_x9) {return _ref18.apply(this, arguments);};}();this.setBaseURI = function () {var _ref20 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee12(_ref21) {var uri = _ref21.uri;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.setBaseURI(uri));case 2:return _context12.abrupt('return', _context12.sent);case 3:case 'end':return _context12.stop();}}}, _callee12, _this2);}));return function (_x10) {return _ref20.apply(this, arguments);};}();this.setTokenURI = function () {var _ref22 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee13(_ref23) {var tokenId = _ref23.tokenId,uri = _ref23.uri;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.setTokenURI(tokenId, uri));case 2:return _context13.abrupt('return', _context13.sent);case 3:case 'end':return _context13.stop();}}}, _callee13, _this2);}));return function (_x11) {return _ref22.apply(this, arguments);};}();this.getPackbyId = function () {var _ref24 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee14(_ref25) {var packId = _ref25.packId;var res;return _regenerator2.default.wrap(function _callee14$(_context14) {while (1) {switch (_context14.prev = _context14.next) {case 0:_context14.next = 2;return _this2.params.contract.getContract().methods.getPackbyId(packId).call();case 2:res = _context14.sent;return _context14.abrupt('return', { packId: packId, packNumber: parseInt(res[1], 10), initialNFTId: parseInt(res[2], 10), price: _Numbers2.default.fromDecimals(res[3], 6), serie: res[4], drop: res[5], packType: res[6], buyer: res[7], saleDistributionAddresses: res[8], saleDistributionAmounts: res[9] ? res[9].map(function (a) {return parseInt(a, 10);}) : [] });case 4:case 'end':return _context14.stop();}}}, _callee14, _this2);}));return function (_x12) {return _ref24.apply(this, arguments);};}();this.getRegisteredTokens = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee15() {var res;return _regenerator2.default.wrap(function _callee15$(_context15) {while (1) {switch (_context15.prev = _context15.next) {case 0:_context15.next = 2;return _this2.params.contract.getContract().methods.getRegisteredIDs().call();case 2:res = _context15.sent;return _context15.abrupt('return', res.map(function (a) {return parseInt(a, 10);}));case 4:case 'end':return _context15.stop();}}}, _callee15, _this2);}));this.exists = function () {var _ref27 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee16(_ref28) {var tokenId = _ref28.tokenId;return _regenerator2.default.wrap(function _callee16$(_context16) {while (1) {switch (_context16.prev = _context16.next) {case 0:_context16.next = 2;return _this2.params.contract.getContract().methods.exists(tokenId).call();case 2:return _context16.abrupt('return', _context16.sent);case 3:case 'end':return _context16.stop();}}}, _callee16, _this2);}));return function (_x13) {return _ref27.apply(this, arguments);};}();this.getPackPriceInFVR = function () {var _ref29 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee17(_ref30) {var packId = _ref30.packId;return _regenerator2.default.wrap(function _callee17$(_context17) {while (1) {switch (_context17.prev = _context17.next) {case 0:_context17.t0 = _Numbers2.default;_context17.next = 3;return _this2.params.contract.getContract().methods.getPackPriceInFVR(packId).call();case 3:_context17.t1 = _context17.sent;_context17.t2 = _this2.getERC20Contract().getDecimals();return _context17.abrupt('return', _context17.t0.fromDecimals.call(_context17.t0, _context17.t1, _context17.t2));case 6:case 'end':return _context17.stop();}}}, _callee17, _this2);}));return function (_x14) {return _ref29.apply(this, arguments);};}();this.getAmountOfPacksCreated = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee18() {return _regenerator2.default.wrap(function _callee18$(_context18) {while (1) {switch (_context18.prev = _context18.next) {case 0:_context18.t0 = parseInt;_context18.next = 3;return _this2.params.contract.getContract().methods.packIncrementId().call();case 3:_context18.t1 = _context18.sent;return _context18.abrupt('return', (0, _context18.t0)(_context18.t1, 10));case 5:case 'end':return _context18.stop();}}}, _callee18, _this2);}));this.getAmountOfPacksOpened = (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:_context19.t0 = parseInt;_context19.next = 3;return _this2.params.contract.getContract().methods._openedPacks().call();case 3:_context19.t1 = _context19.sent;return _context19.abrupt('return', (0, _context19.t0)(_context19.t1, 10));case 5:case 'end':return _context19.stop();}}}, _callee19, _this2);}));this.getAmountOfTokensCreated = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee20() {return _regenerator2.default.wrap(function _callee20$(_context20) {while (1) {switch (_context20.prev = _context20.next) {case 0:_context20.t0 = parseInt;_context20.next = 3;return _this2.params.contract.getContract().methods.lastNFTID().call();case 3:_context20.t1 = _context20.sent;return _context20.abrupt('return', (0, _context20.t0)(_context20.t1, 10));case 5:case 'end':return _context20.stop();}}}, _callee20, _this2);}));this.deploy = function () {var _ref34 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee21(_ref35) {var name = _ref35.name,symbol = _ref35.symbol,tokenAddress = _ref35.tokenAddress,callback = _ref35.callback;var params, res;return _regenerator2.default.wrap(function _callee21$(_context21) {while (1) {switch (_context21.prev = _context21.next) {case 0: - params = [name, symbol, tokenAddress];_context21.next = 3;return ( - _this2.__deploy(params, callback));case 3:res = _context21.sent; - _this2.params.contractAddress = res.contractAddress; - /* Call to Backend API */_context21.next = 7;return ( - _this2.__assert());case 7:return _context21.abrupt('return', - res);case 8:case 'end':return _context21.stop();}}}, _callee21, _this2);}));return function (_x15) {return _ref34.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 8c2143b3..00000000 --- a/build/models/index.js +++ /dev/null @@ -1,18 +0,0 @@ -'use strict';Object.defineProperty(exports, "__esModule", { value: true });exports.OpenerRealFvr = exports.BEPRONetwork = exports.ERC721Standard = exports.ERC721Collectibles = exports.ERC20TokenLock = exports.StakingContract = exports.ExchangeContract = 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 _ERC721Standard = require('./ERC721/ERC721Standard');var _ERC721Standard2 = _interopRequireDefault(_ERC721Standard); -var _OpenerRealFvr = require('./custom/RealFvr/OpenerRealFvr');var _OpenerRealFvr2 = _interopRequireDefault(_OpenerRealFvr); -var _Network = require('./BEPRO/Network');var _Network2 = _interopRequireDefault(_Network);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}exports. - - -ERC20Contract = _ERC20Contract2.default;exports. -ExchangeContract = _ExchangeContract2.default;exports. -StakingContract = _StakingContract2.default;exports. -ERC20TokenLock = _ERC20TokenLock2.default;exports. -ERC721Collectibles = _ERC721Collectibles2.default;exports. -ERC721Standard = _ERC721Standard2.default;exports. -BEPRONetwork = _Network2.default;exports. -OpenerRealFvr = _OpenerRealFvr2.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 9ff28d15..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: 20000000000, - 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: 180000000000, 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: 200000000000, - 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/package.json b/package.json index 5b9aada7..214793a6 100755 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ }, "scripts": { "pretest": "npm run build && truffle compile && truffle migrate --network development", + "pre-commit": "lint-staged", "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", "index": "babel-node ./index.js --presets es2015,stage-2", @@ -28,12 +29,9 @@ "lint": "eslint ./src --cache", "lint:fix": "eslint ./src --fix", "ganache:start": "ganache-cli -p 8545", - "watch": "onchange 'src/**/*.js' -- npm run build" + "watch": "onchange 'src/**/*.js' -- npm run build", + "prepare": "husky install" }, - "pre-commit": [ - "lint", - "lint:fix" - ], "dependencies": { "@openzeppelin/contracts": "^3.4.1", "abi-decoder": "^1.2.0", @@ -76,14 +74,15 @@ "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", + "husky": "^6.0.0", "jsdoc": "^3.6.6", "jsdoc-babel": "^0.5.0", "jsdoc-md": "^8.0.0", "jsdoc-to-markdown": "^6.0.1", + "lint-staged": "^8.0.0", "mocha-multi-reporters": "^1.5.1", - "pre-commit": "^1.2.2", + "onchange": "^2.4.0", "should": "^7.1.0", "supertest": "^1.0.0", "truffle": "5.1.7" @@ -100,6 +99,12 @@ "sourceMaps": true, "retainLines": true }, + "lint-staged": { + "*.{js,jsx}": [ + "eslint . --fix", + "git add" + ] + }, "author": "", "license": "ISC" }